phpbar.de logo

Mailinglisten-Archive

[php] Uebergeordnete Klassen

[php] Uebergeordnete Klassen

Hartmut Holzgraefe hartmut_(at)_six.de
Tue, 02 Jan 2001 19:18:38 +0100


Clemens Gutweiler wrote:
> ist es irgendwie möglich aus einer untergeordneten Klasse auf eine
> übergeordnete zuzugreiffen?
> 

bei Vererbungsbeziehungen geht das mit 'parent::...'

class foo {
  function bar() {
    return 1;
  }
}

class bar extends foo {
  function bar() {
    return parent::bar();
  }
}


> Also z.B. so:
> 
> $foo->modules->bla = new irgendwas;
> 
> class irgendwas {
>         function blubb () {
>         // Hier möchte ich auf $foo->bar(); zugreiffen, wie geht das?
>         // geht nicht
>         super::bar();
>         }
> }

Hier ist die Beziehung eine völlig andere, du möchtest eine Besitzer-
Beziehung aufbauen
So etwas geht nur von Hand, z.B. über ein 'owner' Feld in dem
untergeordneten Objekt, das du mitführst.
Die Relation zwischen Objekten und ihren Member-Variablen ist in PHP
(und nicht nur hier) nicht eindeutig:

  $irgendwas = new irgendwas;
  $foo->modules->bla = &irgendwas;
  $bar->modules->bla = &irgendwas;

Wer wäre in deinem Beispiel jetzt 'super'? $foo, $bar, beide oder
keiner? 

Problem erkannt?

-- 
Hartmut Holzgraefe  hartmut_(at)_six.de  http://www.six.de  +49-711-99091-77


php::bar PHP Wiki   -   Listenarchive