Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
php:sichtbarkeit [2016/03/27 17:56] webproducer Sichtbarkeits-Tabelle hinzugefügt |
php:sichtbarkeit [2021/03/26 12:18] (aktuell) webproducer Fehler in der Beschreibung behoben |
||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
^Sichtbarkeit^Zugriff aus eigener Klasse^Zugriff aus abgeleiteter Klasse^Zugriff außerhalb der Klasse^ | ^Sichtbarkeit^Zugriff aus eigener Klasse^Zugriff aus abgeleiteter Klasse^Zugriff außerhalb der Klasse^ | ||
- | | protected | ja | nein | nein | | + | | private | ja | nein | nein | |
- | | private | ja | ja | nein | | + | | protected | ja | ja | nein | |
| public | ja | ja | ja | | | 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 27: | 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> | ||