@dmitriyuvin

Почему выведет Fatal Error?

abstract class First {
    private $a = 5;

    abstract public function getVar();
}

class Second extends First{
    public function getVar()
    {
        return $this->a;
    }
}

$obj = new Second();
$obj->getVar();


Прохожу тест, там такой вопрос, варианты ответов:
  • 5
  • Notice про спробу доступу до невизначенної властивості
  • Нічого
  • Fatal error

Правильный - Fatal error.
Я додумался только до Notice.
Почему Fatal?
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
New_Horizons
@New_Horizons
Бред:
Свойство $this->a объявлено как private. Следовательно оно не будет доступно в дочерних классах.

Но вообще это Notice. По крайней мере на php 7.1 (я проверил)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
asurahan
@asurahan
веб разработчик
нотис если объявлена переменная. а фатал если нет свойства класса. А а тебя свой свойство класса которое отсутствует
Ответ написан
Ваш ответ на вопрос

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

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