今天突然发现需要在父类中调用子类的方法,之前一直都没这么用过,通过实践发现也可以。例子如:
代码如下:
<?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
?>
不过感觉上这不叫父类调子类,是子类调自己的方法而已,因为实例化是子类,如果你实例化父类还能调子类的方法就有问题了。
您可能感兴趣的文章:PHP中子类重载父类的方法【parent::方法名】php实现parent调用父类的构造方法与被覆写的方法php面向对象的方法重载两种版本比较php面向对象全攻略 (八)重载新的方法PHP面向对象编程之深入理解方法重载与方法覆盖(多态)PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例PHP面向对象程序设计重载(overloading)操作详解PHP面向对象程序设计OOP继承用法入门示例PHP面向对象继承用法详解(优化与减少代码重复)PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解