PHP父類呼叫子類的protected方法
阿新 • • 發佈:2019-02-14
public 表示全域性,類內部外部子類都可以訪問;
private表示私有的,只有本類內部可以使用; protected表示受保護的,只有本類內部或子類內部或父類內部可以訪問;
class A{
function testA(){
$b=new B();
$b->testB();//父類內部呼叫子類的protected方法
echo "Class A<br/>";
}
}
class B extends A{
function testB2(){
$parent::testA();//子類呼叫父類的public方法
}
protected function testB()
{
echo "Class B<br/>";
}
}
$aa=new A();
$aa->testA();//輸出:Class B<br/>Class A<br/>
$b=new B();
$b->testB();//類外部不能呼叫protected方法;Fatal error: Call to protected method B::testB()
?> 參考: http://blog.csdn.net/u011436736/article/details/52207636 http://www.thinkphp.cn/code/1898.html
private表示私有的,只有本類內部可以使用; protected表示受保護的,只有本類內部或子類內部或父類內部可以訪問;
class A{
function testA(){
$b=new B();
$b->testB();//父類內部呼叫子類的protected方法
echo "Class A<br/>";
}
}
class B extends A{
function testB2(){
$parent::testA();//子類呼叫父類的public方法
}
protected function testB()
{
echo "Class B<br/>";
}
}
$aa=new A();
$aa->testA();//輸出:Class B<br/>Class A<br/>
$b=new B();
$b->testB();//類外部不能呼叫protected方法;Fatal error: Call to protected method B::testB()
?> 參考: http://blog.csdn.net/u011436736/article/details/52207636 http://www.thinkphp.cn/code/1898.html