Sven Rautenberg: __construct in Parent-Klasse automatisch aufrufen.

Beitrag lesen

Moin!

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. *)

Bei PHP ist der Konstruktor nicht dafür verantwortlich, die Instanz des Objektes zu erzeugen, sondern er wird (optional) zusätzlich NACH Erzeugung der Instanz aufgerufen. Wobei anzumerken ist: Wenn man innerhalb des Konstruktors eine Exception wirft, erhält man kein Objekt.

Die PHP-Vorgehensweise kommt mir sehr seltsam vor.

Sie ist nur genau aufgrund der oben genannten Tatsache sinnvoll: Objekte in PHP werden immer "konstruktorlos" konstruiert, wenn man keine expliziten Konstruktorfunktionen angibt.

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.

Klassen lassen sich in PHP auch ohne Konstruktor initialisieren (sofern wir beide dasselbe damit meinen): Konstante Werte lassen sich z.B. den Members der Klasse im Code zuweisen.

- Sven Rautenberg