我有两个php类。
Class classOne {
private $stuff;
public $stuff2;
public function init(){
dosomestuff;
}
}
&安培;
Class classTwo extends classOne {
private $stuff;
public $stuff2;
public function init(){ #This function is overriding the native classOne method init;
dosomeotherstuff;
}
}
当我调用函数init
时$obj = new classTwo();
$obj -> init(); #dosomeotherstuff
PHP解释器将像任何人期望的那样 dosomeotherstuff ,因为classTwo类在方法init上声明了覆盖;
相反,有没有办法结合第一个init和第二个的效果,来获得这样的东西?
$obj = new classTwo();
$obj -> init(); #dosomestuff, #dosomeotherstuff
非常感谢
答案 0 :(得分:3)
在重写的函数中,您可以调用基函数:
public function init() {
parent::init();
// your normal code
}
答案 1 :(得分:1)
将parent用于childre方法:
Class classTwo extends classOne {
private $stuff;
public $stuff2;
public function init(){ #This function is overloading the native classOne method init;
parent::init();
dosomeotherstuff;
}
}