我是 PHP 新手。我有三個類,比如A,B和C, whereB和C繼承自A. 我的問題是,我需要一個靜態(tài)工廠,比如為 classcreateInstance()定義一次A,并且適用于其后代。所以當(dāng)有人調(diào)用時A::createInstance(),它返回一個類型的對象A,而調(diào)用B::createInstance()返回一個實(shí)例B,并C::createInstance()返回一個實(shí)例C。我將以下代碼放在createInstance()類的定義中A:public static function createInstance() {
return new self();
}但這不是我需要的解決方案,因?yàn)闊o論調(diào)用哪個類,它self總是指類。A換句話說,調(diào)用B::createInstance()并C::createInstance總是返回一個類型為 的對象A。如何創(chuàng)建這樣一個返回適當(dāng)類的對象的工廠方法?
如何使用 PHP 中超類中定義的繼承工廠方法構(gòu)建子類?
ibeautiful
2022-07-02 16:55:56