Hi,
Wenn du in deiner erbenden Klasse keinen Konstruktor definierst, musst du den der Parent-Klasse nicht explizit aufrufen.
Wenn du aber einen Konstruktor definierst, darf der Eltern-Konstruktor nicht automatisch aufgerufen werden. Wann sollte denn das geschehen? Vor oder nach dem eigenen Konstruktor-Code? Und mit welchen Parametern (die Parameterliste darf sich ja durchaus unterscheiden)? Und wie würde man den Aufruf des Parent-Konstruktors komplett verhindern? PHP kennt keinen "Nicht-Call".
Naja.
Bei Java ist das so gelöst:
Wenn der Constructor nicht als erstes einen Constructor der Super-Klasse aufruft, wird deren parameterloser Constructor aufgerufen. *)
Die PHP-Vorgehensweise kommt mir sehr seltsam vor.
Welchen Sinn soll es haben, daß *kein* Constructor der Super-Klasse aufgerufen wird? Das führt ggf. dazu, daß die Super-Klasse nicht initialisiert ist.
*) wenn in Java kein passender Constructor in der Super-Klasse existiert **): Compiler-Fehler.
**) wenn in einer Klasse gar kein Constructor definiert ist, ist in Java impliziert der parameterlose Constructor definiert, der (neben der Erzeugung des Objekts) nichts tut.
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.