看以下程式碼
class ParentClass { public function parentMethod() { print_r(get_class($this)); //輸出 ChildClass $this->get(); //這時候的this 是 ChildClass的物件 輸出:子類的方法被呼叫 } public function get(){ echo "父類的方法被呼叫"; } } class ChildClass extends ParentClass { public function get() { echo "子類的方法被呼叫"; } } $child = new ChildClass(); $child->parentMethod(); // 輸出:子類的方法被呼叫
輸入在父類中透過this呼叫 get方法,但是因為當初例項化的是ChildClass,所以在父類方法的$this指向的是ChildClass 而不是ParentClass 。父類在被繼承後依然希望調自己的get方法應該
self::get();