PHP:如果子类有不同的值,如何从子类访问受保护的变量?

PHP:如果子类有不同的值,如何从子类访问受保护的变量?,php,oop,inheritance,Php,Oop,Inheritance,如果受保护变量具有不同的值,如何从子类访问该变量 错误访问示例:父项::$\u我的错误 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);

如果受保护变量具有不同的值,如何从子类访问该变量

错误访问示例:父项::$\u我的错误

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);
  }
}
谢谢,
Yosef

$this->\u my
将在实例化子类时从父类继承,因此您只需使用:

$this->_my = array_merge($this->_my, array('c','d'));

$this->\u my
将在实例化子类时从父类继承,因此您只需使用:

$this->_my = array_merge($this->_my, array('c','d'));

你的设计有问题。您已经声明了一个可以由父级中的子级访问的变量


尝试向现有变量添加值,而不是重新定义它

您的设计有问题。您已经声明了一个可以由父级中的子级访问的变量


尝试向现有变量添加值,而不是重新定义它

如果希望类从另一个类继承,则必须使用
extends
关键字,就像
class-Child-extends-Father
子类可以访问受保护的变量一样,这就是它的工作方式
$\u my
子类中
将覆盖在
父类中设置的值
如果您希望该类从另一个类继承,则必须使用
扩展
关键字-如
类子类扩展父类
子类可以访问受保护的变量,这就是它的工作方式吗
$\u我的
Child
中会覆盖在
Father
中设置的值。谢谢,我在应用程序中写的东西是知道的,但是我如何用parent调用呢?正如Chris提到的,
$\u我的
是从父级继承给子级的。这一切都是一样的,没有“父属性”。您可以通过
$this->\u my
像访问任何其他属性一样访问它。谢谢,这是我在应用程序中编写的内容,但是我如何使用父级调用它呢?正如Chris提到的,
$\u my
从父级继承到子级。这一切都是一样的,没有“父属性”。您可以通过
$this->\u my
像访问任何其他属性一样访问它。