【发布时间】:2012-11-05 11:15:29
【问题描述】:
线路:return 'Static hello ' . self::static_user . '...<br />';
制作: Fatal error: Undefined class constant 'static_user' in ....
注意:逻辑可能很愚蠢,但我现在只是在开玩笑。问题是如何访问子类中抽象类的静态变量?我可以在子类中使用$this->public_user 访问公共$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();
【问题讨论】: