[OOP] Vererbung / Konstruktoren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • compuboy1010
    antwortet
    OK,


    vielen Dank für die nette Hilfe !!!!!!!!!!

    Einen Kommentar schreiben:


  • TBT
    antwortet
    wenn du eine vererbte Funktion überschreibst

    zB:

    PHP-Code:
    class A{
       function 
    abc(){
          echo 
    "function A:abc()";
       }
    }

    class 
    extends A{
       function 
    abc(){
          
    parent::abc();
          echo 
    "function B:abc()";
       }

    bringt dir ein

    function A:abc()
    function B:abc()

    ohne das parent könntest du A:abc nicht aufrufen

    Einen Kommentar schreiben:


  • compuboy1010
    antwortet
    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:


  • TBT
    antwortet
    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();
       }

    der Konstruktor von A sollte aufgerufen werden, wenn B UND C keinen eigenen haben

    Einen Kommentar schreiben:


  • compuboy1010
    hat ein Thema erstellt [OOP] Vererbung / Konstruktoren.

    [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".



    Danke
Lädt...
X