Переопределить parent::function

Здравствуйте, у меня есть классы с функциями

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

Теперь мне нужно написать класс 'C', мне нужен метод change '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 ответ

Я знаю, что это старый пост, но я хотел посмотреть, заметили ли вы очевидное. В вашем примере у вас есть C::b() который возвращается parent::b приходящий из Bне D, Вы хотели возвращения из D::a который был бы C::a()

Другие вопросы по тегам