【发布时间】:2012-03-15 01:56:54
【问题描述】:
我在 PHP OOP 手册 http://www.php.net/manual/en/language.oop5.visibility.php 中看到了这一点,但我无法理解为什么输出不是:Foo::testPrivate Foo::testPublic
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
【问题讨论】:
-
提示:如果您将
private更改为protected,您将获得所需的输出。阅读这两个访问修饰符。 -
检查这个线程。第一个答案对我帮助很大。 stackoverflow.com/questions/12794290/…
-
检查这个线程。第一个答案对我帮助很大。 stackoverflow.com/questions/12794290/…