OK,
vielen Dank für die nette Hilfe !!!!!!!!!!
[OOP] Vererbung / Konstruktoren
Einklappen
X
-
wenn du eine vererbte Funktion überschreibst
zB:
PHP-Code:class A{
function abc(){
echo "function A:abc()";
}
}
class B extends A{
function abc(){
parent::abc();
echo "function B:abc()";
}
}
function A:abc()
function B:abc()
ohne das parent könntest du A:abc nicht aufrufen
Einen Kommentar schreiben:
-
Hi,
Danke für die Antwort.
Aber wenn doch alle Funktionen sowieso vererbt werden können.
In welcher Situatin macht man dann Gebrauch von "parent:" ?
Parent setzt ja voraus dass vererbt wird.
Ein ganz blödes Problem.
Also ich möchte, dass die Variable in der Basisklasse und in allen unteren Klassen vorhanden ist. Wie soll das dann gehen, wenn jede Klasse einen eigenen Konstruktor hat?
$this->fileName = $_SERVER['PHP_SELF'];
Und noch was wie ist das mit dem objekt das durch den Konstruktor von A erzeugt wird. Wie kommt C daran. Soll er es selber erzeugen?
Zuletzt geändert von compuboy1010; 16.09.2003, 12:57.
Einen Kommentar schreiben:
-
der Konstruktor von A bzw. B wird NICHT aufgerufen wenn C einen eigenen hat.
am besten ordentlich durchreichen, und jedem eine Konstruktor verpassen
PHP-Code:class A{
A(){}
}
class B{
B(){
parent::A();
}
}
class C{
C(){
parent::B();
}
}
Einen Kommentar schreiben:
-
[OOP] Vererbung / Konstruktoren
Hi,
wenn ich 3 Klassen habe
A
B extends A
C extends B
Ist der Konstruktor von A auch in C enthalten, wenn C einen Eigenen hat?
In meinem Fall erzeugt A ein anderes Objekt in seinem Konstruktor,welches auch C benötigt.
Allerdings steckt im Konstruktor von A was für C viel Schrott wäre.
Wie gehe ich am besten vor? Für jede Klasse einen eigenen Konstruktor. Bin echt verwirrt.
Noch etwas, gilt "parent:" nur für die unmittelbar höhere Klasse (Vater) oder auch für den Grossvater?
Sprich kann ich so von C auf den Konstruktor von A zugreifen, selbst wenn C seinen eigenen hat?
Habe das Beispiel in der php.net Doku nicht gerafft, bzw steht dort nix zum "Großvater".
DankeStichworte: -
Einen Kommentar schreiben: