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;
}
}
Continue reading "Das Konzept Tasse vs. Tassen auf dem Tisch"