PHP重载静态属性和静态方法

时间:2014-01-27 18:26:52

标签: php function oop properties static

情况:我有一个具有静态属性的类,一个静态方法和一些现在不太有趣的抽象元素。这是我的第一堂课:

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'(例如父母的默认属性值)。我做错了什么?

1 个答案:

答案 0 :(得分:2)

ParentClass中(因为单词Parent是保留关键字)更改...

echo self::$property;

......对此...

echo static::$property;