有几个类的很相似,只是其方法对数据处理的逻辑和最后数据输出的结果有些差别,可以通过这样的思路实现吗?
1.思路一,通过修改抽象函数逻辑实现返回值不同abstract class parents{
protected $data = array();
public function get_content(
$this->data = sql_get_content();
return data_function($this->data);
);
protected sql_get_content(){
//DB功能
}
abstract protected function data_function();
}class child extends parents{
abstract protected function data_function($data){
//不同类对$data的处理逻辑不一样,使得get_content()返回的结果不一样
};
}
2.思路二,继承父类的函数,不同子类在后面加不同的逻辑处理,最后返回不同结果。很想知道这个方法能不能行得通abstract class parents{
protected $data = array();
public $result;
public function get_content(
$this->data = sql_get_content();
);
protected sql_get_content(){
//DB功能
}
}class child extends parents{
public function get_content(
parent::get_content();
//不同类对$data的处理逻辑不一样,使得get_content()返回的结果不一样
return $this->result;
);
}