Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:sichtbarkeit

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
php:sichtbarkeit [2015/12/19 16:01]
127.0.0.1 Externe Bearbeitung
php:sichtbarkeit [2021/03/26 12:18] (aktuell)
webproducer Fehler in der Beschreibung behoben
Zeile 2: Zeile 2:
  
 Die Sichtbarkeit einer Eigenschaft oder Methode kann definiert werden, indem man der Deklaration eines der Schlüsselwörter public, protected oder private. voranstellt. Auf public deklarierte Elemente kann von überall her zugegriffen werden. Protected beschränkt den Zugang auf Elternklassen und abgeleitete Klassen (sowie die Klasse, die das Element definiert). Private grenzt die Sichtbarkeit einzig auf die Klasse ein, die das Element definiert. ​ Die Sichtbarkeit einer Eigenschaft oder Methode kann definiert werden, indem man der Deklaration eines der Schlüsselwörter public, protected oder private. voranstellt. Auf public deklarierte Elemente kann von überall her zugegriffen werden. Protected beschränkt den Zugang auf Elternklassen und abgeleitete Klassen (sowie die Klasse, die das Element definiert). Private grenzt die Sichtbarkeit einzig auf die Klasse ein, die das Element definiert. ​
 +
 +^Sichtbarkeit^Zugriff aus eigener Klasse^Zugriff aus abgeleiteter Klasse^Zugriff außerhalb der Klasse^
 +| private | ja | nein | nein |
 +| protected | ja | ja | nein |
 +| public | ja | ja | ja |
  
 //​Beispiel://​ //​Beispiel://​
-<​code>​+<​code ​php>
 class test class test
 { {
- public $pub; // kann ausgelesen ​und geändert werden + public $pub; // kann gelesen ​und geändert werden 
- private $priv; // kann weder ausgelesen ​noch verändert werden + private $priv; // kann weder gelesen ​noch verändert werden 
- protected $pro; // kann weder ausgelesen ​noch verändert werden + protected $pro; // kann weder gelesen ​noch verändert werden
  
  public function __construct( $a, $b, $c )  public function __construct( $a, $b, $c )
  {  {
- $this->​pub = $a; + $this->​pub = $a; 
- $this->​priv = $b; + $this->​priv = $b; 
- $this->​pro = $c;+ $this->​pro = $c;
  }  }
 } }
Zeile 22: Zeile 27:
  
 foreach( $obj as $key=>​$val ) foreach( $obj as $key=>​$val )
-echo "<​p>​$key:​ $val</​p>";​ // es wird ausschließlich "pub: A" ausgegeben.+
 + echo "<​p>​$key:​ $val</​p>";​ // es wird ausschließlich "pub: A" ausgegeben. 
 +}
  
-$obj->​pub = 1; // funktioniert fehlerfrei +$obj->​pub = 1; // funktioniert fehlerfrei 
-$obj->​priv = 2; // Fatal error: Cannot access private property test::​$priv +$obj->​priv = 2; // Fatal error: Cannot access private property test::​$priv 
-$obj->​pro = 3; // Fatal error: Cannot access protected property test::$pro+$obj->​pro = 3; // Fatal error: Cannot access protected property test::$pro
 </​code>​ </​code>​
  
php/sichtbarkeit.1450537286.txt.gz · Zuletzt geändert: 2016/03/27 00:00 (Externe Bearbeitung)