Можно ли объявить в абстрактном классе абстрактное свойство (в PHP)? Доброго времени суток. Недавно на собеседовании столкнулся с вопросом, который мне до сих пор не даёт покоя. Вопрос звучал так: "Можно ли в абстрактном классе объявить абстрактное свойство и если нет, то почему?". Подсознательно понимаю, что нельзя, т.к. это не правильно (наверное). Но не уверен в этом и не могу сформулировать, почему нельзя. Есть у кого какие мысли по этому поводу? Можно ли, и если нельзя, то почему? =)

21 Авг 2019 в 07:07
148 +1
0
Ответы
1

В PHP нельзя объявить абстрактное свойство в абстрактном классе. При объявлении абстрактного свойства в абстрактном классе возникает ошибка, так как абстрактные свойства не поддерживаются в PHP.

Абстрактный класс может содержать только абстрактные методы, которые должны быть реализованы в дочерних классах. Свойства должны быть объявлены в классе напрямую или через методы (геттеры и сеттеры).

Поэтому, если вам необходимо определить обязательное свойство в дочернем классе, можно объявить абстрактный метод для доступа к этому свойству, но не само свойство.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир