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
http://www.bkjia.com/phpjc/326157.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/326157.htmltecharticle复制代码 代码如下: class bar { public function test() { $this-testprivate(); $this-testpublic(); } public function testpublic() { echo bar::testpublic\n; } private functi...
