调用继承方法混淆

时间:2015-07-01 12:07:39

标签: php

有人可以解释一下为什么我得到如下结果? (看看评论)。

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类对象?

1 个答案:

答案 0 :(得分:0)

因为 $ this 正在使用后期绑定方法,

阅读有关绑定的官方文档(静态或非静态无关紧要)

http://php.net/manual/en/language.oop5.late-static-bindings.php