php访问控制符的用法举例,如下:
/**
* php访问控制符
* edit by www.
*/
class LovePhp
{
//子类,本类,外部都能访问修改。
public function Xphp()
{
echo'Xhpp
';
}
//子类和本类可以访问修改,但是外面不能;
//Fatal error: Call to protected method LovePhp::Pphp() from context '' in public.php on line 62
protected function Pphp()
{
return 'Pphp
';
}
//子类和外部都不能访问此方法,因为他的访问控制符是private,但是内部可以调用,见下面Dphp()方法;
private function Vphp()
{
return 'Vphp
';
}
//调用本类中的私有方法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();
?>
总结:
public 默认为public。
public修饰的方法,属性,在外部,子类,本类中都可以访问,修改。
protected 受局部保护的方法,属性;
protected修饰的方法,属性,能在本类,子类中访问修改;
private 私有方法,只能在本类中调用,修改;