覆盖parent :: function

时间:2016-12-15 20:18:27

标签: php class oop method-overriding

您好我有函数类

class A{
    static function a(){
        return 'aaa';
    }
}
class B extends A{
    static function b(){
        //some code
        return parent::a();
        //some code
    }
}

现在我需要编写类'C',我需要更改方法'a'来返回另一个东西,但不想覆盖B :: b()函数,因为它真的很大,而且工作正常。

class C extends D{
    static function b(){
        return parent::b();
    }
}

class D extends B{
    static function a(){
        return 'ddd';
    }

}
C::b() //return aaa, but I need ddd

1 个答案:

答案 0 :(得分:0)

我知道这是一个老帖子,但我想知道你是否注意到这一点。 在您的示例中,您有C::b()返回来自parent::b的{​​{1}},而不是B。您希望从D返回D::a