Вы должны повторно внедрить метод базового класса;попробуйте с помощью:
class Derived extends Base {
protected static $c = 'derived';
public static function getC() {
return self::$c;
}
}
Как видите, это решение очень бесполезно, поскольку заставляет переписывать все методы подклассов.
Значение self::$c
зависит только от класса, в которомметод был фактически реализован, а не класс, из которого он был вызван.