繁体   English   中英

访问子类中抽象类的静态变量

[英]access to static variable of abstract class in child class

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

注意:逻辑可能很愚蠢,但我现在只是在玩它。 问题是如何在子类中访问抽象类的静态变量? 我可以在子类中使用$this->public_user访问public one $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();

用这个:

return 'Static hello ' . parent::$static_user . '...<br />';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM