我有一个班级
Class Mainclass{}
另一个是
的课程 Class Childclass extends Mainclass{}
现在我想在Mainclass中编写回调,检查子类是否找到了方法,合并值并返回?
我如何实现反射?
答案 0 :(得分:0)
一种简单的方法是创建一个包含该方法的接口
interface XYZ
{
public function myMethod();
}
让你的孩子班级实施它
class Childclass extends Mainclass implements XYZ
{
public function myMethod()
{
//actual implementation
}
}
之后,您的主类可以轻松检查它是否正在实现该接口:
class Mainclass
{
public function whatever()
{
if ($this instanceof XYZ)
{
$this->myMethod();
}
}
}
现在,我确信它会起作用,但我认为这是一个糟糕的设计:父类不应该依赖于其子类的实现。但是,由于我不知道你工作的环境,我会把它留在这里并希望它能帮到你。