0
我將如何從父級靜態方法初始化子類?PHP從父級靜態方法初始化子類的新實例?
我可以使用PHP 5.3中的遲靜態綁定和父類方法中的static
關鍵字來獲取子類的靜態變量。我如何初始化一個父類靜態方法的子類的新實例?
謝謝。
我將如何從父級靜態方法初始化子類?PHP從父級靜態方法初始化子類的新實例?
我可以使用PHP 5.3中的遲靜態綁定和父類方法中的static
關鍵字來獲取子類的靜態變量。我如何初始化一個父類靜態方法的子類的新實例?
謝謝。
你不需要涉及靜態變量或任何雜亂無章的東西。這裏是最短的例子我能想出:
class a {
public static function foo() { return new static; }
}
class b extends a { }
如果你打電話b::foo()
你會得到一個新型B。
這種設計模式衆所周知,請稍微精確一點:你試圖得到什麼樣的**結果?你爲什麼想這樣做?然後,我們可以引導您採用正確的設計模式。 – SteeveDroz
..或者,對於我們這些不沉迷於嚴格「設計模式」的人,我們可以指導您解決您的問題。 –