Как работает наследование? Почему данный код выведет надпись из 'class A'? Разве после наследования, у класса B не появится свой личный статический метод getMessage, который через self будет брать свой личный getString()? Почему он берет его именно из класса А?
Class A
{
public static function getMessage():string
{
return 'message - '.self::getString();
}
public static function getString():string
{
return 'class A';
}
}
Class B extends A
{
public static function getString():string
{
return 'class B';
}
}
echo B::getMessage();