情况:我有一个具有静态属性的类,一个静态方法和一些现在不太有趣的抽象元素。这是我的第一堂课:
abstract class Parent
{
public static $property = 'Foo';
public static function func()
{
echo self::$property
...
}
}
现在开始变得有趣了。我想扩展这个类,重载静态属性,使用相同的不重载方法。
class Child extends Parent
{
public static $property = 'Bar';
}
Child::func(); //Output: 'Foo'
问题是,我总是得到'foo'(例如父母的默认属性值)。我做错了什么?
答案 0 :(得分:2)
在ParentClass
中(因为单词Parent
是保留关键字)更改...
echo self::$property;
......对此...
echo static::$property;