PHP:如果保护变量具有不同的值,如何从子类访问保护变量?
问题描述:
如何能保护变量从子类进行访问,如果它有不同的价值?PHP:如果保护变量具有不同的值,如何从子类访问保护变量?
例错误的访问:父:: $ _我给了错误
class Father{
protected $_my=array('a','b');
}
class Child{
protected $_my=array('c','d');
function __construct(){
parent::__construct();
$this->_my=array_merge(parent::$_my,$this->_my);
}
}
感谢, 优素福
答
$this->_my
将会从父,当你实例化一个子类继承,所以你只需要使用:
$this->_my = array_merge($this->_my, array('c','d'));
答
您的设计出了问题。您已经声明了一个变量,可以由父内部的子项访问。
尝试增加值已经存在的变量,而不是重新定义它。
如果你想将该类从另一个继承,你必须使用`extends`关键字 - 比如`一个文件里有Father` – 2011-01-30 22:08:18
受保护的变量可以被儿童访问的,这就是它是如何工作的? ``在$ Child`将_my`重写`Father` – 2011-01-30 22:10:29