初学,遇到这,不能悟出其中的妙处,记录下;
大体的逻辑如下
<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教程有兴趣的朋友有所帮助。