Die Variablendefinition einer Klasse in php5 oop folgt einer Zugriffskontrolle, die lautet:
öffentlich bedeutet global und kann von Unterklassen innerhalb und außerhalb der Klasse aufgerufen werden.
Privat bedeutet privat und kann nur innerhalb dieser Klasse verwendet werden
.
Nur auf diese Klasse oder in Unterklassen oderübergeordneten
Klassen kann zugegriffen werden
Klasse BaseClass {
öffentlich $public = 'public';
privat $private = 'private';
protected $protected = 'protected';
function __construct(){
}
Funktion print_var(){
print $this->public;echo '<br />';
print $this->private; echo '<br />';
print $this->protected; echo '<br />';
}
}
class Unterklasse erweitert BaseClass {
// public $public = 'public2';
protected $protected ='protected2';
Funktion __construct(){
echo $this->protected;//Zugriff möglich, da die Klasse als geschützt definiert ist, sodass sie sich in dieser Klasse oder Unterklasse befinden kann und der Wert in Unterklassen wiederholt werden kann
echo '<br />';
echo $this->private;//error, da es privat ist und nur in der Klassenbasisklasse verwendet werden kann, in der es definiert ist.
}
}
$obj1 = new BaseClass();
$obj1->print_var();
//echo $obj1->protected;//error Da es geschützt ist, kann es nur innerhalb dieser Klasse oder in Unterklassen und übergeordneten Klassen aufgerufen werden.
//echo $obj1->private;//error private wie oben, kann nur innerhalb dieser Klasse aufgerufen werden
echo $obj1->public;
echo „<hr />“;
$obj2 = neue Unterklasse();
echo '<br />';
echo $obj2->public;echo '<br />';
echo $obj2->protected;
//echo $obj2->private;//error
//echo $obj2->protected;
?>