如何在基类中保持方法调用坚持PHP中的基类?

时间:2011-04-09 18:39:19

标签: php inheritance

class son extends parent {
    ...
    public function func_name()
    {
        //do some additional stuff here
        ...
        parent:func_name();
    }

}

但在parent中还有另一种方法:

class parent {
...
    public another_func()
    {
        $this->func_name();//how to stick to the one in parent here???
    }
}

示例:

$inst = new son;
$inst->another_func()////how to make the func_name within another_func stick to the one in parent???

3 个答案:

答案 0 :(得分:0)

重命名parent::func_name并将其设为私有。从parent::another_func调用该函数(可能来自parent::func_name的新实现)。

答案 1 :(得分:0)

public another_func () {
    if (get_class($this) == 'parent') {
        $this->func_name(); // $this is an instance of parent object
    } else {
        parent::func_name(); // $this is an instance of some child class
    }
}

答案 2 :(得分:0)

或者ParentClassName::func_name不会工作?