Cet article est une analyse détaillée et une introduction aux modificateurs d'accès protégés publics et privés orientés objet php. Les amis dans le besoin peuvent se référer à
Il existe trois modificateurs d'accès en PHP. symboles, respectivement :
public (public, par défaut)
protégé (protégé)
privé (privé)
public (public, par défaut) En PHP5, si un La classe ne spécifie pas de modificateur d'accès pour un membre, la valeur par défaut est l'accès public.
protected (Protected) Les membres déclarés comme protégés ne sont accessibles que par les sous-classes de cette classe.
privé (privé) Les membres définis comme privés sont visibles par tous les membres de la classe et n'ont aucune restriction d'accès. L’accès n’est pas autorisé en dehors du cours.
Illustration
démo
Le code est le suivant :
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!