-1
Привет У меня есть классы с функциямиOverride родитель :: функция
class A{
static function a(){
return 'aaa';
}
}
class B extends A{
static function b(){
//some code
return parent::a();
//some code
}
}
Теперь я должен написать класс «C», мне нужны методы изменения «а» вернуть другую вещь, но не хочет переопределить 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
Почему вы вызываете 'parent :: a' from' b'? Почему бы не 'self :: a' /' static :: a'? И почему все эти «статические» начинаются? – deceze
Как сказал deceze, используйте self :: a() вместо parent :: a() в классе B – Yoleth
классы A и B не мои, и я не могу их изменить. И они статичны, потому что они статические методы :) –