PHP面向对象public/protected/private权限控制详解
/*
private
protected
public
三者的区别
private protected public
本类内 Y Y Y
子类内 N Y Y
外部 N N Y
注意:
在php中,如果 public/protected/private 都不写,则理解为 public
建议养成好习惯,不要不写
*/
class Human {
private $money=5000;
protected $age=25;
public $name='李四';
public function aa() {
echo '我的名字叫',$this->name,'<br />';
echo '我有',(($this->money)-1500),'元钱<br />';
echo '我今年',$this->age,'岁了<br />';
}
}
class Wuman extends Human {
private $height=168;
public function bb(){
echo '我有',$this->money,'元钱<br />';
echo '我今年',$this->age,'岁了<br />';
echo '我的名字叫',$this->name,'<br />';
}
}
$lan=new Wuman();
//echo $lan->name; //李四
//下行错,因为类外部不能调用 private
// echo $lan->height;
//下行错,因为类外部不能调用 protected
// echo $lan->age;
/*
总结:
public 可以在类外调用,权限最为宽松
protected 和 private 不能在类外调用
??public 在类内嗲用行不行
答:当然可以,类外都可以,权限最为宽松,类内就没问题了;
*/
Dcr163的博客
https://www.dcr163.cn/29.html(转载时请注明本文出处及文章链接)