@vxzezppa

Почему потомок не видит свойство родителя?

<?php
class Parent {
  protected $var;

  public function setVar($value) {
      $this->var = $value;
  }
}

$parent = new Parent();

$parent->setVar('asdad');

class Child extends Parent {
  public function getVar($value) {
      return $this->var; //null
  }
}


Почему null у потомка?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Ну так вы же экземпляр родительского класса создаёте, а не дочернего. Покажите полный код.
Вот так работает:
<?php
class Parent {
  protected $var;

  public function setVar($value) {
      $this->var = $value;
  }
}

class Child extends Parent {
  public function getVar() {
      return $this->var;
  }
}

$child = new Child();

$child->setVar('asdad');

var_dump($child->getVar());
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы