如何从子实例递归调用覆盖的父函数?因为我没有使用静态方法,所以我不能使用parent::method()
,但必须做一些不同的事情。我觉得有更好的方法来解决我的问题,也许是通过设计模式。这是我的班级结构:
class Creature {
public function eat() {
// feed and digest
}
}
class Mammal extends Creature {
public function eat() {
// gather and chew
}
}
class Human extends Mammal {
public function eat() {
// have a meal
}
}
class WesternPerson extends Human {
public function eat() {
// use knife & fork
}
}
$me = new WesternPerson();
$me->eat();
调用eat()
将从特殊类递归到非常抽象类。最简单的方法是,如果我可以从被覆盖的函数中调用具有相同名称的父函数。但我知道,它被覆盖了,所以我不能。