Heim > Artikel > Backend-Entwicklung > Was ist der Unterschied zwischen den drei Zugriffsberechtigungen (oop) in PHP?
Es gibt drei Zugriffsrechte in PHP objektorientiert (oop):
public: public Typ
Merkmale: Extern aufrufbar, intern aufrufbar, von Unterklassen aufrufbar
In Unterklassen können öffentliche Methoden oder Eigenschaften über self::var, parent::method aufgerufen werden. Rufen Sie die übergeordnete Klasse auf Methode
In der Instanz können Sie die Methode oder Eigenschaft des öffentlichen Typs über $obj->var aufrufen.
protected: protected type
Funktionen : Nicht extern aufrufbar, intern aufrufbar. In Unterklassen können geschützte Methoden oder Attribute über self::var aufgerufen werden, und parent::method ruft Methoden der übergeordneten Klasse auf
Methoden oder Eigenschaften des geschützten Typs können nicht über $obj->var in einer Instanz aufgerufen werden
private: privater TypFeatures: nicht extern aufrufbar, intern aufrufbar, nicht aufrufbar durch Unterklassen
Die Attribute oder Methoden dieses Typs können nur in dieser Klasse verwendet werden. Attribute und Methoden des privaten Typs können nicht in Instanzen dieser Klasse, Unterklassen oder Instanzen dieser Unterklassenmethode aufgerufen werden.
Codebeispiel
<?php //final类不能被继承,final类不能被重写 //public 外部可调用,内部可调用,子类可调用 //protected 受保护类 外部不可调用 子类可以调用 //private私有的 外部不可调用 子类不可调用 class human{ //公有的 public $money = 1000; //受保护的 protected $che = "bmw"; //私有的 private $flower = "meigui"; //调用公有类 public function t1(){ echo $this->money; } //调用受保护的 public function t3(){ echo $this->che; } //调用私有的 public function t5(){ echo $this->flower; } } class stu extends human{ //子类调用公有的 public function t2(){ echo $this->money; } //子类调用受保护的 public function t4(){ echo $this->che; } //子类调用私有的 public function t6(){ echo $this->flower; } } //实例化对象 $stu = new stu(); echo $stu->money; echo $stu->t1(); echo $stu->t2(); echo $stu->t3(); echo $stu->t4(); echo $stu->t5(); echo $stu->t6();Ergänzung: Der Unterschied zwischen Selbst und Eltern
Diese beiden Objekte werden häufig in Unterklassen verwendet. Ihr Hauptunterschied besteht darin, dass self öffentliche oder geschützte Eigenschaften in der übergeordneten Klasse aufrufen kann, parent jedoch nicht
b).self:: Es repräsentiert die statischen Mitglieder (Methoden und Eigenschaften) der aktuellen Klasse $ Das ist anders, $this bezieht sich auf das aktuelle Objekt
Weitere Informationen zu diesem Thema finden Sie auf der
PHP-Chinese-WebsiteDas obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den drei Zugriffsberechtigungen (oop) in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!