【问题标题】:PHP overloaded static property and static methodPHP重载静态属性和静态方法
【发布时间】:2014-02-18 18:04:26
【问题描述】:

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

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

【问题讨论】:

  • 您没有从孩子那里呼应 $property 您正在从父母那里呼应该财产

标签: php function oop properties static


【解决方案1】:

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

echo self::$property;

...到这个...

echo static::$property;

【讨论】:

    猜你喜欢
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 2012-03-30
    • 2011-11-10
    • 1970-01-01
    相关资源
    最近更新 更多