Vererbung und Konstruktor

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

  • Vererbung und Konstruktor

    Hallo,

    ich habe 3 Klasse in ungefähr dieser Struktur:

    class main --
    class submain extends main --
    class subsubmain extends submain --

    In der submain class sollen beim Aufruf Funktionen der main ausgeführt werden. Mit einem Konstruktor in submain wird aber nur noch dieser aufgerufen und nicht mehr der der main class. Gibt es irgendeine eine andere Möglichkeit ohne die Funktionen aus subsubmain aufzurufen zu müssen?

    Vielen Dank,
    thebrain
    nein?

  • #2
    meinst du sowas?

    PHP-Code:
    $parent_name get_parent_class($this);
    parent::$parent_name(); 

    Kommentar


    • #3
      Jein, möchte Funktion der Hauptklasse weiterhin über $this->... aufrufen. Es geht ehr darum, dass Klasse submain eine Art Kontruktor bekommen soll, der aber keiner ist
      nein?

      Kommentar


      • #4
        PHP-Code:
        #submain
        class submain extends main {
          public function 
        __construct($arg) {
            
        parent::methode($arg);
          }

        so in der Art vielleicht ?

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Original geschrieben von thebrain
          Es geht ehr darum, dass Klasse submain eine Art Kontruktor bekommen soll, der aber keiner ist
          sondern?

          Kommentar


          • #6
            Ok, ich glaub ich habs zu kompliziert ausgedrückt, sorry.

            Kann man außer mit einem Konstruktor Code beim aufrufen einer Klasse ausführen?
            nein?

            Kommentar


            • #7
              nein. wozu? dieser code gehört in den konstruktor.
              erkläre noch mal dein anliegen.

              Kommentar


              • #8
                Ok Beispiel Auktionshaus:

                main-Klasse: Basisfunktionen, quasi der Kern der ganzen Anwendung, kann flexibel eingesetzt werden. Keine der Funktionen für das Auktionshaus ist implementiert.

                submain-Klasse: Spezielle Funktionen für das Auktionshaus, greifen auf Funktionen der main-Klasse zu und bieten Basis-Funktionen für die subsubmain-Klassen

                subsubmain-Klassen: Klasse für die einzelnen Unterseiten z.B. zeig mir die Auktionsseite usw.

                Ich möchte die 3 Klassen trotzdem getrennt halten. Die main-Klasse hat den Konstruktor, kann also DB-Verbindungen etc. selber erstellen. Die Hauptfunktion der subsubmain-Klasse wird beim Start der Seite aufgerufen, kann also auch arbeiten. Die Funktionen der submain-Klasse die nötigt sind und nicht extra aus der subsubMain Hauptfunktion gestartet werden sollen, laufen aber natürlich weil es keinen Konstruktor gibt.
                nein?

                Kommentar


                • #9
                  und? was hat das mit der fragestellung zu tun?

                  Kommentar


                  • #10
                    Die main-Klasse hat den Konstruktor, kann also DB-Verbindungen etc. selber erstellen.
                    Wieso sollte das nur ein Konstruktor können ?
                    Die Funktionen der submain-Klasse die nötigt sind und nicht extra aus der subsubMain Hauptfunktion gestartet werden sollen, laufen aber natürlich weil es keinen Konstruktor gibt.
                    hä, wie bitte ? Sorry aber irgendwie ist es mir nicht klarer geworden was du meinst.

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      PHP-Code:
                      parent::__construct(); 

                      ich hab mich wohl zu kompliziert ausgedrückt, habs jetzt so gelöst....
                      nein?

                      Kommentar

                      Lädt...
                      X