MudGuard: __construct in Parent-Klasse automatisch aufrufen.

Beitrag lesen

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.