PHP类与对象中的private访问控制的疑问

2015-01-24信息快讯网

在手册中遇到了一个没想明白的问题,记录一下,方便需要的朋友

 
class Bar 
{ 
public function test() { 
$this->testPrivate(); 
$this->testPublic(); 
} 
public function testPublic() { 
echo "Bar::testPublic\n"; 
} 
private function testPrivate() { 
echo "Bar::testPrivate\n"; 
} 
} 
class Foo extends Bar 
{ 
public function testPublic() { 
echo "Foo::testPublic\n"; 
} 
private function testPrivate() { 
echo "Foo::testPrivate\n"; 
} 
} 
$myFoo = new foo(); 
$myFoo->test(); // Bar::testPrivate 
// Foo::testPublic 

为啥第一行会输出Bar::testPrivate呢?
一些资料: 
http://www.jb51.net/article/31709.htm
还有php官网上,关于这段代码的贡献者回复中,也找到了一条:
http://www.php.net/manual/zh/language.oop5.visibility.php#87413
©2014-2024 dbsqp.com