nobody: Objekte verschachteln

Beitrag lesen

wie ruft man aus einer bestehenden Klasse ein fremde Klasse auf ?

entweder als statische methode: class:methode();
oder als instanzierte klasse: $obj->methode();

Ich habe ein paar Einzellne Klassen die jeweils Ihre Teilberreiche erledigen, Methoden bereitstellen und eine Hauptklasse die dem  tatsächlichen Programmcode endspricht.
Die Hauptklasse nutzt Funktionen die in den Unterklassen stecken,

dann muß die hauptklasse die unterklasse erweitern: hauptklasse extends unterklasse

aber: was willst du? sollen deine einzelnen klassen eine 'veredelung' einer klasse bewirken? dann extend!

nun frage ich mich wie man Sinnvoll aus der Hauptklasse auf die Unterklassen zugreift ?

entweder:

CLASS::METHODE();

geht nur mit der statischen syntax da es $this::methode(); nicht gibt:
direkt über mehrere extends: class:methode();
als direkter extend: parent::methode();

oder ist es richtig in der Hauptklasse jeweils Objekte "$obj = new UnderClass;" von den Unterklassen zu erzeugen und dann wie gewohnt über:

$obj->Methode();

zuzugreifen ?

das wäre eine neue instanz, welche mit this nichts zu tun hat.
natürlich kann eine klassenvariable auch ein anderes objekt sein:
$this->objekt = new objekt();
so mache ich das, da ich meine daten als baumstruktur anlege.

was soll das?

Oder gibt es vieleicht sowas wie "Mehrfach EXTENDS" ?
class A extends B,C,D,E {}

überdenke mal was du willst. wenn du teilbereiche haben willst, solltest du mal über eine baumstruktur nachdenken.
beispiel: rechnung und rechnungspositionen (1:n)
klassen: rechnung und position