父类private 子类private 子类继承private
父类private 子类protected 子类继承protected
父类private 子类public 子类继承public
父类protected 子类private 子类继承出错
父类protected 子类protected 子类继承protected
父类protected 子类public 子类继承public
父类public 子类private 子类继承出错
父类public 子类protected 子类继承出错
父类public 子类public 子类继承public
备注:父类的private仍存在,但是只能由父类自身才能调用
也能很好的证明private关键字是私有的,只能自己访问自己,
例1:
class A
{
private $name = 'xpisme';
public function getName() {
return $this->name;
}
}
class B extends A
{
//子类B的$name 无论用谁修饰,getName的值都是父类的值
public $name = 'XPISME';
}
$b = new B;
echo $b->getName(); //xpisme
例2:
class A
{
private $name = 'xpisme';
public function getName() {
return $this->name;
}
}
class B extends A
{
public $name = 'XPISME';
public function getName() {
return $this->name;
}
}
$b = new B;
echo $b->getName();//XPISME