Я пытаюсь получить доступ и изменить данные, которые находятся в родительском классе, который является дочерним по отношению к другому классу. Я родительский классМногоуровневое наследование в PHP
class GrandParent {
protected $data = 1;
public function __construct() {}
public function getData() {
return $this->data;
}
}
Ниже мой первый уровень ребенок
class Child extends GrandParent {
protected $c1Data;
public function __construct() {
$this->c1Data = parent::getData();
$this->c1Data = 2;
}
public function getData() {
return $this->c1Data;
}
}
Если я пытаюсь создать экземпляр класса Child
и сделать getData()
, я получаю 2, который является нормальным. У меня есть другой класс, который наследует Child
.
class GrandChild extends Child {
protected $c2Data;
public function __construct() {
$this->c2Data = parent::getData();
}
public function getData() {
return $this->c2Data;
}
}
Проблема заключается в том, что если я пытаюсь создать экземпляр GrandChild
I и получить данные, я получаю null
. Возможно ли сделать мой класс GrandChild
наследовать $c1Data = 2
и работать с ним. Я хочу также иметь возможность самостоятельно использовать классы Child
и GrandParent
, а не быть абстрактными.
Спасибо @u_mulder он работает сейчас. Неверная ошибка. – Lexx