Heim  >  Artikel  >  Backend-Entwicklung  >  Ein einfacher Vergleich von öffentlich, privat und geschützt in PHP

Ein einfacher Vergleich von öffentlich, privat und geschützt in PHP

青灯夜游
青灯夜游Original
2019-02-01 17:20:434705Durchsuche

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.

Ein einfacher Vergleich von öffentlich, privat und geschützt in PHP

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:

Ein einfacher Vergleich von öffentlich, privat und geschützt in PHP

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:

Ein einfacher Vergleich von öffentlich, privat und geschützt in PHP

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

Ein einfacher Vergleich von öffentlich, privat und geschützt in PHP:

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!

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