今天突然发现需要在父类中调用子类的方法,之前一直都没这么用过,通过实践发现也可以,实例代码如下:
- <?php
- /**
- * 父类调用子类方法 基类
- * @author LNMP100
- *
- */
- class BaseApp
- {
- /**
- * 调用子类方法
- * @version 创建时间:2013-07-10
- */
- function _run_action()
- {
- $action = "index";
- $this->$action();
- }
- }
- class DefaultApp extends BaseApp
- {
- /**
- * 此方法将在父类中调用
- */
- function index()
- {
- echo "DefaultApp->index() invoked";
- }
- function Go(){
- //调用父类
- parent::_run_action();
- }
- }
- $default=new DefaultApp();
- $default->Go();
- //将显示DefaultApp->index() invoked
- ?>
我们在父类的go()方法里面调用了
$default->Go();
swim是子类定义的方法(注意,我们并没有在父类中定义abstract function swim()),说明了这不是多态,我们不仅调用了方法,还调用了成员,是ok的.
新闻热点
疑难解答