ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1673
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    kerstel ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    184
    Hallo,

    ich habe folgende Situation:

    PHP-Code:
    class Parent
    {
      function 
    getName()
      {
     
      }
    }
    class 
    Child extends Parent
    {
      
    funcion __construct()
      {
        echo 
    $this->getName();
      }

    wie kann ich nun mit der Funktion getName der Elternklasse, den Namen der Kindklasse (in dem Fall "Child") zurückgeben? Klar wenn ich der Funktion getName als Parameter die Funktion get_class() mitgebe, aber automatisch wäre für weitere Vererbungen einfacher

    Noch ein andere Frage am Rande:
    Wenn Kindklasse und Elternklasse einen Konstruktor haben, werden diese seperat ausgeführt, oder überschreibt der Konstruktor der Kindklasse den der Elternklasse? kann ich dann vom Eltern Konstruktor etwas an den Kindkonstruktor übergeben?

    Danke und Gruß
    Kerstel
     

  2. #2
    Avatar von Flex
    Flex ist offline (aka Felix Jacobi)
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.257
    Wenn du die Elternklasse initialisierst, hat sie keine Ahnung, dass es irgendwo eine Kindsklasse gibt.

    Aber dein Beispiel wäre so möglich:

    PHP-Code:
    <?php
    class Vater
    {
      public function 
    getName()
      {
        echo 
    __CLASS__;
      }
    }

    class 
    Kind extends Vater
    {
      public function 
    __construct()
      {
        echo 
    parent::getName();
      }
    }  

    $child = new Kind;
    ?>
    Wobei der Sinn und Zweck sich nicht ganz ergibt, finde ich.

    Grundsätzlich wird bei der Vererbung, der Konstruktor der Kindklasse ausgeführt, auf den Konstruktor der Elternklasse ist per parent::__construct() aber Zugriff möglich.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    kerstel ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    184
    sinn ist folgender: für die kindklasse sollen erweiterungen programmiert werden können, diese sollen im verzeichnis liegen, das genau so heisst wie die kindklasse. Also wenn die Kindeklasse ABCDE heisst, liegen die erweiterungen im Verzeichnis ABCDE. Da es mehrere Kindklassen gibt, wollte ich das über eine andere Klasse steuern, also wo liegt die erweiterung usw.

    Viele Grüße und Danke
    Kerstel
     

Thema nicht erledigt

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 29.10.10, 12:11
  2. auf Eigenschaften Elternklasse zugreifen
    Von campari im Forum PHP
    Antworten: 6
    Letzter Beitrag: 25.09.10, 16:56
  3. Antworten: 3
    Letzter Beitrag: 25.10.08, 16:40
  4. Antworten: 2
    Letzter Beitrag: 01.01.08, 01:23
  5. CVS verwenden
    Von doctiffo im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 24.04.05, 12:07