phpbar.de logo

Mailinglisten-Archive

[php] OOP

[php] OOP

Christoph Rust info at webmaster-rust.de
Fre Okt 1 08:39:44 CEST 2004


Morgen!

I'm sorry, da hab ich mich echt verschrieben.
Es muss natürlich so aussehen:

<code>
class foo {

   protected $var = "value of var";

   protected static function method(){
      return "value of method";
   }

}

class bar extends foo {

   public static function getVar(){
      return parent::$var;
   }

   public static function callMethod(){
      return parent:method();
   }

}

echo bar::getVar();
echo bar::callMethod();

}
</code>

Einen Sinn hat das ganze schon, hier ein Beispiel:
Ich habe die Klasse Settings, dazu gehören als "Kind"-Klassen 
SettingsReader und SettingsWriter.
Wenn also in der Klasse Settings eine Variable abgefragt wird, dann ruft 
die Klasse Settings eine Methode namens readSettings in der Klasse 
SettingsReader auf (falls das noch nicht zuvor gesehen ist).
Analog dazu, wird bei Änderungen die Klasse SettingsWriter mit der 
Methode writeData aufgerufen.
Beide Methoden (read/write-Data) setzen, bzw. holen sich, den Wert in 
eine Variable Data in der Elternklasse.
Die Klasse Settings dient also eigentlich nur als Schnittstelle für alle 
anderen Klassen in der Application.
Alles ist Static, da der Zugriff z.B. auf die Methoden der Klasse 
Settings ja von überall erfolgen kann und somit nicht jedes mal einen 
neue Instanz angelegt werden muss.
Also Sinn ergibt das schon denke ich, mir kommt es halt nur spanisch 
vor, warum das Schlüsselwort protected bei Methoden, nicht aber bei 
Variablen funktioniert, ist doch eigentlich vom Zugriff her das gleiche...



php::bar PHP Wiki   -   Listenarchive