[PHP]访问控制符
[php]
<?php
class LovePhp
{
//子类,本类,外部都能访问修改。
public function Xphp()
{
echo'Xhpp<br />';
}
//子类和本类可以访问修改,但是外面不能;
//Fatal error: Call to protected method LovePhp::Pphp() from context '' in public.php on line 62
protected function Pphp()
{
return 'Pphp<br />';
}
//子类和外部都不能访问此方法,因为他的访问控制符是private,但是内部可以调用,见下面Dphp()方法;
private function Vphp()
{
return 'Vphp<br />';
}
//调用本类中的私有方法Vphp();
public function Dphp()
{
return $this->Vphp();
}
}
class Lphp extends LovePhp
{
//Lphp类中自有方法
public function Lxphp()
{
return 'Lxphp';
}
//自由方法,调用父类的Pphp()方法
public function Hphp()
{
return $this->Pphp();
}
//自有方法,调用父类的私有方法Vphp();#######这个只做演示,是一段错误代码
//报错代码:Fatal error: Call to private method LovePhp::Vphp() from context 'Lphp' in public.php on line 37
public function XXphp()
{
return $this->Vphp();
}
//创建方法,调用父类的Dphp();
public function Cphp()
{
return $this->Dphp();
}
}
$obj = new Lphp();
$obj->Xphp();
echo $obj->Hphp();
echo $obj->Cphp();
$obj2 = new LovePhp();
echo $obj2->Pphp();
?>
[/php]
总结:public 默认没有访问控制符的就是此public。public修饰的方法,属性,在外部,子类,本类中都可以访问,修改。
protected 受局部保护的方法,属性;protected修饰的方法,属性,能在本类,子类中访问修改;
private 私有方法,只能在本类中调用,修改;
文章转载自:http://blog.9696e.com/php/oop-protected-private-public