我有一个小问题。在 PHP 手册网站上有一个例子:
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
任何人都可以用一种简单的方式解释为什么在一个示例中引用 $this 指向父方法(私有方法)而在另一个示例中指向子类(公共)中定义的当前方法?这对我来说不合逻辑,我希望它在两种情况下都指向子类方法或在两种情况下都指向父方法?
请帮忙!