Skip to content

Das Konzept Tasse vs. Tassen auf dem Tisch

Ich wurde gerade per EMail gefragt, was bei PHP der Unterschied ist, wenn man Klassenmethoden per Klasse::methode() oder $EineInstanz->methode() aufruft. Das ist eigentlich die Frage danach, was in OOP Klassen und was Instanzen sind. Hier mal meine bildliche Antwort dazu, vielleicht bringt es auch anderen einen Erkenntnisgewinn:

Stell Dir "Tassen" vor. Es gibt das "Konzept Tasse": Eine Tasse ist ein Behälter, der (normaler Weise) Flüssigkeit aufnimmt, der immer einen Henkel hat, den man füllen kann und aus dem man trinken kann.

Dieses "Konzept" ist im übertragenen Sinne eine "Klasse". Und so könnte das "Konzept Tasse" aussehen:

class Tasse {
    var $fluessigkeit;
    public Tasse($befuellung) {
        $this->fluessigkeit = $befuellung;
    }
    static function anzahlHenkel() {
        // Tassen haben immer einen Henkel
        return 1;
    }
    function trinken() {
        return $this->fluessigkeit;
    }
}
"Das Konzept Tasse vs. Tassen auf dem Tisch" vollständig lesen
tweetbackcheck