public: Öffentliche -Attribute oder Methoden
können in Unterklassen über self::var oder self::method und in übergeordneten Klassen über die Methode parent::method aufgerufen werden , aber öffentliche Eigenschaften können nicht aufgerufen werden.
können in der Instanz über $obj->var oder self::method
protected: protected type
aufgerufen werden Unterklasse können Sie sie über self::var oder self::method aufrufen. Sie können die Methode in der übergeordneten Klasse über parent::method aufrufen.
In der Instanz können Sie die Methode des geschützten Typs nicht über $obj aufrufen. >var. Oder Attribut
private: privater Typ
Die Attribute oder Methoden dieses Typs können nur in dieser Klasse verwendet werden und können nicht in Instanzen dieser Klasse, Unterklassen oder aufgerufen werden Instanzen von Unterklassen Private Typ--Attribute und -Methoden
2. Der Unterschied zwischen selbst und übergeordneten Objekten
a). Ihr Hauptunterschied besteht darin, dass self öffentliche oder geschützte Eigenschaften in der übergeordneten Klasse aufrufen kann, parent jedoch nicht b).self:: Es stellt das
-Mitglied der aktuellen Klasse (Methoden) dar und Eigenschaften) Im Gegensatz zu $this bezieht sich $this auf das aktuelle Objekt
Zusammenfassung<?php class BaseClass { public $public = 'public'; private $private = 'private'; protected $protected = 'protected'; function construct(){ } function print_var(){ print $this->public;echo '<br />'; print $this->private; echo '<br />'; print $this->protected; echo '<br />'; } } class Subclass extends BaseClass { // public $public = 'public2'; protected $protected ='protected2'; function construct(){ echo $this->protected;//可以访问,因为类中定义为受保护的,所以在本类或子类中可以,子类中还可以重复付值 echo '<br />'; echo $this->private;//error 因为是私有的只有在定义她的类baseclass中可以用 } } $obj1 = new BaseClass(); $obj1->print_var(); //echo $obj1->protected;//error 因为是受保护的,只有在本类内部或子类父类中可以调用 //echo $obj1->private;//error 同上私有的,只有在本类内调用 echo $obj1->public; echo "<hr />"; $obj2 = new Subclass(); echo '<br />'; echo $obj2->public;echo '<br />'; echo $obj2->protected; //echo $obj2->private;//error //echo $obj2->protected;//error ?>
öffentlich bedeutet global und kann von Unterklassen innerhalb und außerhalb der Klasse aufgerufen werden;
private bedeutet privat, kann nur innerhalb dieser Klasse verwendet werden;geschützt bedeutet geschützt und kann nur in dieser Klasse, Unterklassen oder übergeordneten Klassen aufgerufen werden;
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Definition, Verwendung und Unterschiedsbeispiele von öffentlichen, privaten und geschützten Attributen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!