使用PHP中的类组合两个或更多函数

时间:2015-01-21 15:13:32

标签: php class

我有两个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

非常感谢

2 个答案:

答案 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;
  } 

}