Задать вопрос

Как реализовать наследование свойства?

Есть два класса: Parent и Child. Child унаследует свойства и методы родителя. В родителе есть одно свойство, которое инициализируется при создании объекта класса. В дальнейшем, в родителе, я создаю объект "ребенка".
class Parent {
	protected $var = 0;

	public function __construct($var=100) {
		$this->var = $var;
	}

	protected function say() {
		echo $this->var;
	}
}
class Child extends Parent {
	public function __construct() {
		$this->say();
	}
}


В общем, при создании объекта класса Child выводится 0, а нужно 100.
  • Вопрос задан
  • 2487 просмотров
Подписаться 5 Оценить Комментировать
Решения вопроса 2
@VoRez
Backend web developer.
Вызывайте в конструкторе дочернего класса конструктор родительского.
Ответ написан
PavelK
@PavelK
Конструктор родителя нужно вызывать в конструкторе потомка.
Вот так:
parent::__construct();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы