Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:sichtbarkeit

Sichtbarkeit von Eigenschaften und Methoden

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.

SichtbarkeitZugriff aus eigener KlasseZugriff aus abgeleiteter KlasseZugriff außerhalb der Klasse
private ja nein nein
protected ja ja nein
public ja ja ja

Beispiel:

class test
{
	public $pub;	// kann gelesen und geändert werden
	private $priv;	// kann weder gelesen noch verändert werden
	protected $pro;	// kann weder gelesen noch verändert werden	
 
	public function __construct( $a, $b, $c )
	{
		$this->pub =	$a;
		$this->priv =	$b;
		$this->pro =	$c;
	}
}
 
$obj = new test( "A", "B", "C" );
 
foreach( $obj as $key=>$val )
{
	echo "<p>$key: $val</p>"; // es wird ausschließlich "pub: A" ausgegeben.
}
 
$obj->pub = 1;	// funktioniert fehlerfrei
$obj->priv = 2;	// Fatal error: Cannot access private property test::$priv
$obj->pro = 3;	// Fatal error: Cannot access protected property test::$pro
php/sichtbarkeit.txt · Zuletzt geändert: 2021/03/26 12:18 von webproducer