phpbar.de logo

Mailinglisten-Archive

[php] Frage zu class nesting und Konstruktoren

[php] Frage zu class nesting und Konstruktoren

Gloss Mathias php_(at)_phpcenter.de
Fri, 1 Feb 2002 14:07:27 +0100


Aloha,

> Von: 	Henning Jödden[SMTP:henning_(at)_wonderpixel.de]
>
> Wenn ich das richtig verstanden habe ist der Konstruktor einer Klasse
> eine Funktion mit dem  selben Namen wie die Klasse, die beim
> instanzieren derselben automatisch aufgerufen/ausgeführt wird.
>
genau.

> Wenn ich ich nun in einer "unter"Klasse, die "haupt"Klasse instanziere
> und in einem Objekt der Unterklasse ablege, (wie beschrieben im Artikel
> bei http://www.waltersdorf.net/oopphp4.php) wird dann der Konstruktor
> der Hauptklasse nicht ausgeführt, weil die Unterklasse einen eigenen
> hat?
>
genau.

> zur Praxis:
.....

das ist dann genau das Problem, daß der Konstruktor der "Hauptklasse"
nicht ausgeführt wird.

Vermeiden kannst du das mit zusätzlicher Tiparbeit.

Hauptklasse:
class foo {
  function foo($a) {
    echo 'Konstruktor ausgeführt mit ' . $a . '!';
  }
}

Abgeleitete Klasse:

class bar extends foo {
  function bar($a) {    # Konstr. der abgeleiteten Klasse
    $this->foo($a);     # ruft Konstruktor der Hauptklasse auf.
  }
}


Grüße, Mathias


php::bar PHP Wiki   -   Listenarchive