我是 PHP 新手。我有三个类,比如A
,B
和C
, whereB
和C
继承自A
. 我的问题是,我需要一个静态工厂,比如为 classcreateInstance()
定义一次A
,并且适用于其后代。所以当有人调用时A::createInstance()
,它返回一个类型的对象A
,而调用B::createInstance()
返回一个实例B
,并C::createInstance()
返回一个实例C
。我将以下代码放在createInstance()
类的定义中A
:
public static function createInstance() { return new self(); }
但这不是我需要的解决方案,因为无论调用哪个类,它self
总是指类。A
换句话说,调用B::createInstance()
并C::createInstance
总是返回一个类型为 的对象A
。如何创建这样一个返回适当类的对象的工厂方法?
喵喵时光机