0

生产线return 'Static hello ' . self::static_user . '...<br />'; 生产: Fatal error: Undefined class constant 'static_user' in ....

注意:逻辑可能很愚蠢,但我现在只是在开玩笑。问题是如何访问子类中抽象类的静态变量?我可以在儿童班访问公共$public_user的。$this->public_user

abstract class UserAbstract
{
protected $public_user = null;
    static protected $static_user = null;

    public function __construct($name)
    {
    $this->public_user = $name;
        self::$static_user = $name;
    }

    abstract static function static_hello();
}

class User extends UserAbstract
{
    static function static_hello()
    {
        return 'Static hello ' . self::static_user . '...<br />';
    }
}

$obj_user = new User('Voodoo');
echo $obj_user->static_hello();
4

1 回答 1

2

用这个:

return 'Static hello ' . parent::$static_user . '...<br />';
于 2012-11-05T11:16:56.823 回答