Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Definition, Verwendung und Unterschiedsbeispiele von öffentlichen, privaten und geschützten Attributen in PHP

Detaillierte Erläuterung der Definition, Verwendung und Unterschiedsbeispiele von öffentlichen, privaten und geschützten Attributen in PHP

伊谢尔伦
伊谢尔伦Original
2017-07-03 09:55:275777Durchsuche

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

statische

-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 = &#39;public&#39;;
  private $private = &#39;private&#39;;
  protected $protected = &#39;protected&#39;;
  function construct(){
  }
  function print_var(){
    print $this->public;echo &#39;<br />&#39;;
    print $this->private; echo &#39;<br />&#39;;
    print $this->protected; echo &#39;<br />&#39;;
  }
}

class Subclass extends BaseClass {
  // public $public = &#39;public2&#39;;
  protected $protected =&#39;protected2&#39;;
  function construct(){
    echo $this->protected;//可以访问,因为类中定义为受保护的,所以在本类或子类中可以,子类中还可以重复付值
    echo &#39;<br />&#39;;
    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 &#39;<br />&#39;;
  echo $obj2->public;echo &#39;<br />&#39;;
  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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn