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

在手册中遇到了一个没想明白的问题,记录一下:

 1 class Bar 

 2 {

 3     public function test() {

 4         $this->testPrivate();

 5         $this->testPublic();

 6     }

 7 

 8     public function testPublic() {

 9         echo "Bar::testPublic\n";

10     }

11     

12     private function testPrivate() {

13         echo "Bar::testPrivate\n";

14     }

15 }

16 

17 class Foo extends Bar 

18 {

19     public function testPublic() {

20         echo "Foo::testPublic\n";

21     }

22     

23     private function testPrivate() {

24         echo "Foo::testPrivate\n";

25     }

26 }

27 

28 $myFoo = new foo();

29 $myFoo->test(); // Bar::testPrivate 

30                 // Foo::testPublic

为啥第一行会输出Bar::testPrivate呢?

一些资料:

http://www.haidx.com/php-private.html

还有php官网上,关于这段代码的贡献者回复中,也找到了一条:

http://www.php.net/manual/zh/language.oop5.visibility.php#87413

你可能感兴趣的:(private)