初學,遇到這,不能悟出其中的妙處,記錄下;
大體的邏輯如下
<code><span>abstract</span><span><span>class</span><span>A</span> {</span><span>private</span><span>static</span><span>$c</span>; <span>final</span><span><span>function</span><span>todo</span><span>()</span> {</span><span>//do something</span> } <span>public</span><span><span>function</span><span>init</span><span>()</span> {</span><span>$c</span> = <span>new</span> B; } <span>public</span><span><span>function</span><span>get</span><span>()</span> {</span><span>$c</span>->todo(); } } <span><span>class</span><span>B</span><span>extends</span><span>A</span> {</span>} .... A::get();</code>
這裡產生的幾個疑問:
1.在父類別中可以new一個子類別嗎
2、這樣做的考慮是什麼?還是這種設計模式是在避免什麼樣的問題出現?
以上就介紹了 php中抽象類別在其方法中例化其子類別來完成對自己方法的調用,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。