private | protected | public | |
本类 | Y | Y | Y |
子类 | N | Y | Y |
外部 | N | N | Y |
例:
class Human{
private $name = 'Tom';
protected $money = 3000;
public $age = 28;
public function say(){
echo 'My name is '.$this->name;
echo 'I have '.$this->money;
echo 'I am '.$this->age;
}
}
class Stu extends Human{
private $friend = 'Kate';
public function talk(){
echo 'My name is '.$this->name;
echo 'I have '.$this->money;
echo 'I am '.$this->age;
}
}
$me = new Stu();
echo $me->age;//输出28
echo $me->friend;//出错,类外不能调用private
echo $me->money;//出错,类外不能调用protected
echo $me->talk();
/**
*出错
*Notice:Undefined property:Stu::$name in ...
*I have 3000
*I am 28
*/