@dmitriyuvin
FullStack developer ( Laravel & Vue )

Почему выведет 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?
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
New_Horizons
@New_Horizons
Бред:
Свойство $this->a объявлено как private. Следовательно оно не будет доступно в дочерних классах.

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 09:29
2500 руб./за проект
25 апр. 2024, в 09:27
4000 руб./за проект
25 апр. 2024, в 09:20
10000 руб./за проект