【发布时间】:2018-11-27 22:07:29
【问题描述】:
PHP Accessing Parent Class Variable -- 这个问题是关于在子类中访问父类变量的:
我的问题是关于在子类中访问被覆盖的父类变量
我正在尝试访问一个被覆盖的公共变量,但它没有打印任何内容。
我正在使用
访问它echo parent::$var;
var 是父类中的公共变量
error_reporting(-1);
class ParentClass{
public $var='shiva';
/* public static $var2 = 'arun';
public function memythod(){
echo 'mymethod';
}
public static function ourmethod(){
echo 'ourmethod';
}*/
}
class ChildClass extends ParentClass{
public $var = 'shiva1';
public function __construct(){
echo $this->var;
echo "<br>";
echo parent::$var;
}
public function displaymethod(){
echo $this->var;
echo parent::$var;
}
}
$obj = new ChildClass();
$obj->displaymethod();
//$obj->displayvar();
【问题讨论】:
-
你不能那样做。被覆盖意味着被覆盖。剩下的就是
$this->var。 -
如果你使用类属性而不是实例属性,你可以为所欲为。
-
当然,有一些方法可以保存数据,例如在设置
$this->var之前将父值保存在某处(例如$this->parent_var)。 -
@vivek modi 用于访问子类中的父类变量的问题。但这个问题是关于访问被覆盖的变量
标签: php