Heim > Artikel > Backend-Entwicklung > Ein einfacher Vergleich von öffentlich, privat und geschützt in PHP
In PHP gibt es drei Zugriffsmodifikatoren: public, private und protected. Sie können die Sichtbarkeit von Eigenschaften, Methoden oder Konstanten definieren, indem Sie diese Schlüsselwörter vor der Deklaration hinzufügen. Was ist also der Unterschied zwischen ihnen? Hier ist eine kurze Einführung in diesen Artikel. Ich hoffe, dass er für alle hilfreich ist.
PHP-Modifikatoren für den öffentlichen Zugriff
Der öffentliche Modifikator kann sowohl intern als auch extern verwendet werden. Wenn ein Klassenmitglied als öffentlich deklariert ist, kann von überall darauf zugegriffen werden. [Video-Tutorial-Empfehlung: PHP-Tutorial]
Beispiel:
<?php header("content-type:text/html;charset=utf-8"); // BaseClass class pub { public $tag_line = "php中文网!"; function display() { echo $this->tag_line."<br/>"; } } // 子类 class child extends pub { function show(){ echo $this->tag_line; } } // 对象声明 $obj= new child; // 输出 echo $obj->tag_line."<br/>"; $obj->display(); $obj->show(); ?>
Ausgabe:
privater Zugriffsmodifikator
privater Modifikator kann in der Klasse, in der er definiert ist, und seinen übergeordneten oder geerbten Klassen verwendet werden. Wenn ein Klassenmitglied als geschützt deklariert ist, kann darauf nur innerhalb der Klasse selbst und von Vererbungs- und übergeordneten Klassen aus zugegriffen werden.
Beispiel:
<?php header("content-type:text/html;charset=utf-8"); // 基类 class pro { protected $x = 500; protected $y = 500; // 实现减法 function sub() { echo $sum=$this->x-$this->y . "<br/>"; } } // 子类-继承类 class child extends pro { function mul() //实现乘法 { echo $sub=$this->x*$this->y; } } $obj= new child; $obj->sub(); $obj->mul(); ?>
Ausgabe:
geschützte Zugriffsänderung Der geschützte Modifikator
kann in der Klasse verwendet werden, in der er definiert ist. Hinweis: Der Zugriff außerhalb der Klasse ist nicht möglich.
Wenn ein Klassenmitglied als privat deklariert ist, kann nur die Klasse darauf zugreifen, die das Mitglied definiert.
Beispiel:
<?php header("content-type:text/html;charset=utf-8"); // 基类 class demo { private $name="PHP中文网!"; private function show() { echo "这是基类的私有方法"; } } // 子类 class child extends demo { function display() { echo $this->name; } } // 对象声明 $obj= new child; // 出现异常---未捕获错误:调用私有方法demo::show() //$obj->show(); //出现异常--未定义的属性:子级::$name $obj->display(); ?>
Ausgabe
:
Erklärung:
Wie Sie dem obigen Beispiel entnehmen können, wird ein Fehler angezeigt, da außerhalb der Klasse nicht auf private Klassendaten zugegriffen werden kann.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !
Das obige ist der detaillierte Inhalt vonEin einfacher Vergleich von öffentlich, privat und geschützt in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!