我有一个名为ClassA的绘图 PHP 类,它由许多其他绘图类扩展,例如ClassB 。
我需要继承的类来触发其父类的Draw()方法。但是,在我的特殊情况下,我不想直接调用这样的方法(例如:)parent::Draw()
。我想要第三个函数(例如parent::InvokeDraw()
:)从父上下文中调用我的绘图方法。
这里有一些代码来说明:
class ClassA
{
function Draw()
{
/* Drawing code ... */
}
function InvokeDraw()
{
$this->Draw();
}
}
class ClassB extends ClassA
{
function Draw()
{
parent::InvokeDraw();
/* Drawing code ... */
}
}
我面临的问题是InvokeDraw()不会调用父类的Draw()方法,而是扩展类自己的Draw()方法,从而导致无限循环。
尽管这个问题相当合乎逻辑,但我很难找到解决方法。如何完成这项任务?