Быстрый код с включенным вопросом:
abstract class ClassParent {
public static $var1 = "ClassParent";
}
class ClassChild1 extends ClassParent{
public static function setvar1(){
ClassChild1::$var1 = "ClassChild1";
}
}
class ClassChild2 extends ClassParent{
public static function setvar1(){
ClassChild2::$var1 = "ClassChild2";
}
}
ClassChild1::setvar1();
echo ClassChild2::$var1;
// Returns "ClassChild1". Shouldn't this still be "ClassParent"?
Я предполагаю, что вышеуказанное поведение является ожидаемым, а не ошибкой PHP. В этом случае, как я могу объявить статическую переменную в родительском классе, которая будет обрабатываться отдельно для дочерних классов. Другими словами, я хочу иметь отдельные статические значения НА КЛАСС РЕБЕНКА. Должен ли я объявить статическую переменную специально в дочерних классах или есть другой способ?
Спасибо!