【发布时间】:2012-03-11 02:11:40
【问题描述】:
我不确定我要找的东西是否有名字,所以我搜索起来有点困难,所以如果我所问的问题之前已经在这里得到了回答,我深表歉意。
情况是我有一个抽象类,当然还有许多其他类扩展它。
抽象类中的抽象方法称为run(),所有的扩展类都定义了这个方法。
我的问题是我想在调用run()方法后调用一些通用代码,但是我想知道是否有更好的方法来做到这一点。
我当然可以将我的通用代码粘贴到每个扩展类的 run() 方法中,但如果我这样做,那么从那时起进行简单的更改对我来说将是很多工作。
我也可以将我的通用代码放入父类中的一个方法中,然后从扩展类的run() 方法中使用$this 调用if。
但我的问题是,有没有更好的方法来做到这一点,还是我必须使用 $this 关键字或将代码粘贴到每个类的代码中?
下面是一个小例子,说明我想用我当前的想法做什么:
abstract class Parent_Class {
public abstract function run();
protected function common_code() {
// Common code here
}
}
class Child_Class {
public function run() {
// Code here
// I want some common code to run after the run method has been called
$this->common_code(); // Is this the best way to do it?
}
}
或者是否有可能以某种方式告诉类,何时调用 run() 方法以自动运行 common_code() 方法?
【问题讨论】:
标签: php class methods automation