我可以将一个对象向上转换为它的父对象吗?
示例代码
class ClassA {
public function foo(){
echo get_class($this);
}
}
class ClassB extends ClassA {
public function foo(){
echo get_class($this); // prints ClassB :)
parent::foo(); // prints ClassB / I want ClassA :(
}
}
$B = new ClassB();
$B->foo();
是否可以在 PHP 中使用?
在我的场景中,我正在构建 ClassB 并且我想覆盖函数 ClassB::Foo() 以扩展其行为,然后将控件处理回它的父函数 ClassA::Foo() 但代码中断,因为它现在是一个对象B类。请不要因为“代码气味”而责备我,因为我现在觉得它很难看!ClassA 是我无法控制的... :-)