PHP父类调用子类方法实例

187 阅读1分钟
今天突然发现需要在父类中调用子类的方法,之前一直都没这么用过,通过实践发现也可以,实例代码如下:
  • /**
  • * 父类调用子类方法 基类
  • * @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的.