Wie verwende ich Objekte der Klasse „Kinder“ in der Klasse „Eltern“ in PHP?

Antwort vom

**Du verwendest Objekte von `Kinder` in `Eltern`, indem du sie in `Eltern` als Eigenschaft speicherst oder per Konstruktor/Methode übergibst – entscheidend ist: `Eltern` arbeitet dann mit einer Instanz von `Kinder`, nicht mit der Klasse selbst.** ## Einfaches Prinzip Wenn `Eltern` auf Funktionen oder Daten aus `Kinder` zugreifen soll, braucht `Eltern` ein Objekt von `Kinder`. ```php class Kinder { public function sagHallo() { return "Hallo aus Kinder"; } } class Eltern { private Kinder $kind; public function __construct(Kinder $kind) { $this->kind = $kind; } public function ausgabe() { return $this->kind->sagHallo(); } } $kindObjekt = new Kinder(); $elternObjekt = new Eltern($kindObjekt); echo $elternObjekt->ausgabe(); ``` Hier liegt der wichtige Unterschied: `Eltern` **erbt nicht automatisch** von `Kinder`, sondern **bekommt ein Objekt übergeben**. Das ist in vielen Fällen die sauberere Lösung. ## Wann du stattdessen Vererbung nutzt Falls `Eltern` wirklich eine spezialisierte Form von `Kinder` sein soll, nutzt du `extends`: ```php class Kinder { public function sagHallo() { return "Hallo"; } } class Eltern extends Kinder { public function sagNochMehr() { return $this->sagHallo() . " aus Eltern"; } } $objekt = new Eltern(); echo $objekt->sagNochMehr(); ``` ## Der entscheidende Unterschied - **Objekt verwenden:** `Eltern` **hat ein** `Kinder`-Objekt - **Vererbung:** `Eltern` **ist ein** `Kinder` Für deinen Fall ist meist **Objektübergabe statt Vererbung** richtig, weil Klassen dadurch sauberer getrennt bleiben und du `Kinder` flexibel austauschen kannst.

Kategorie: Technik Tags: PHP Klassen Objekte

Verwandte Fragen

Wie erstelle ich mit PHP 8.2 eine PDF/A-3-Datei?

Mit PHP 8.2 erstellst du eine PDF/A-3-Datei am praktikabelsten mit TCPDF; mPDF kann zwar PDF/A, ist dafür aber deutlich weniger klar dokumentiert und selbst die eigene Doku bezeichnet die Bibliot...