Veröffentlicht 7. März 200520 j Hi! Wie mache ich das am besten? Ich muss auf eine Eigenschaft der übergeordneten Klasse zugreifen. Also ich habe eine Basisklasse, die bestimmte Eigenschaften hat, und ich will diese Eigenschaften auch in den Sub und Subsubklassen zur Verfügung haben. Danke und Gruß, Tobias
7. März 200520 j Attribute der Superklasse sind auch automatisch Attribute der Subklasse. also: class A { var $item; function A() { // Konstruktor // tu was! } } class B extends A { function B() { // Konstruktor parent::A(); // entspricht super() in Java $this->item = "wert"; // steht implizit zur Verfügung } } [/PHP]
8. März 200520 j Hmm, ok versteh ich, damit kann ich auf Methoden der aber wie realisiere ich folgendes: class A { var $dbLink; function A() { // Konstruktor $this->dbLink = connect(); // dbLink enthält jetzt Link zur DB $b = new b(); } } class B extends A { function B() { $sql = 'SELECT foo FROM bar'; // Hier hätte ich jetzt gerne die Variable $dbLink zur Verfügung. } } [/PHP] Irgendwie steh ich aufm Schlauch.
8. März 200520 j Wenn es nur darum geht die Variable $dblink zur Verfügung zu haben mache es doch so: class A { var $dbLink; function A() { // Konstruktor $this->dbLink = connect(); // dbLink enthält jetzt Link zur DB } } class B extends A { function B() { parent::A(); $sql = 'SELECT foo FROM bar'; // Hier hast du jetzt Zugriff mittels $this->dblink } } [/PHP]
8. März 200520 j oder auch: class A { var $dbLink; function A() { // Konstruktor $this->dbLink = connect(); // dbLink enthält jetzt Link zur DB $b = new b(); } } class B extends A { function B() { parent::A(); // hier die Basisinitialisierung... $sql = 'SELECT foo FROM bar'; var_dump( $this->dbLink); } } [/PHP] Gruß, Markus Edit: omg Enrico hat ja das gleiche geschriebe... :floet:
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.