Heim  >  Artikel  >  Backend-Entwicklung  >  PHP objektorientierter öffentlich-privater geschützter Drei-Modifikator-Codebeispiele

PHP objektorientierter öffentlich-privater geschützter Drei-Modifikator-Codebeispiele

伊谢尔伦
伊谢尔伦Original
2017-07-03 09:57:281740Durchsuche

Dieser Artikel ist eine detaillierte Analyse und Einführung in PHP-objektorientierte öffentliche, private, geschützte Zugriffsmodifikatoren.

Es gibt drei Zugriffsmodifikatoren in PHP Symbole bzw.:
öffentlich (öffentlich, Standard)
geschützt (geschützt)
privat (privat)
öffentlich (öffentlich, Standard) In PHP5, wenn a Die Klasse gibt keinen Zugriffsmodifikator für ein Mitglied an, der Standardwert ist öffentlicher Zugriff.
geschützt (Protected) Als geschützt deklarierte Mitglieder dürfen nur von Unterklassen dieser Klasse aufgerufen werden.
privat (privat) Als privat definierte Mitglieder sind für alle Mitglieder innerhalb der Klasse sichtbar und unterliegen keinen Zugriffsbeschränkungen. Der Zutritt außerhalb der Klasse ist nicht gestattet.

Illustration

Demo

Der Code lautet wie folgt:

class Woman{
    public $name = "gaojin";
    protected $age = "22";
    private $height = "170";
    function info(){
        echo $this->name;
    }
    private function say(){
        echo "这是私有的方法";
    }
}
//$w = new Woman();
//echo $w->info();
//echo $w->name;//公共
属性
可以访问
//echo $w->age;// 受保护属性,报致命错误
//echo $w->height;// 受保护属性,报致命错误
//私有方法,访问出错
//$w->say(); // 私有方法,访问出错
class Girl extends Woman{
    // 可以重新定义父类的public和protected方法,但不能定义private的
  //protected $name = "jingao"; // 可以从新定义
    function info(){
        echo $this->name;
        echo $this->age;
        echo $this->height;
    }
    function say(){
        //parent::say();//私有方法 不能被
继承
  如果父类的的say方法是protected 这里就不会报错
        echo "我是女孩";
    }
}
$g = new Girl();
$g->say();//正常输出
//echo $g->height;//私有属性访问不到 没输出结果
//$g->info();//这是输出 gaojin22 $height是私有的属性没有被继承
//$g->height ="12";//这里是重新定义 height属性 也赋值了 
//$g->info();//所以这里会输出来gaojin2212


Das obige ist der detaillierte Inhalt vonPHP objektorientierter öffentlich-privater geschützter Drei-Modifikator-Codebeispiele. 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