生产线: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();