有人可以解释一下为什么我得到如下结果? (看看评论)。
class A {
public function foo() { // foo from B
//private function foo() { // foo from A
echo "foo from A</br>";
}
public function test() {
$this->foo();
}
}
class B extends A {
public function foo() {
echo "foo from B</br>";
}
}
$b = new B();
$b->test();
我不应该总是从B&#34;得到&#34; foo而#34;这个&#34;指向B类对象?
答案 0 :(得分:0)
因为 $ this 正在使用后期绑定方法,
阅读有关绑定的官方文档(静态或非静态无关紧要)
http://php.net/manual/en/language.oop5.late-static-bindings.php