Выбор ответа Junior ООП, трейты и интерфейсы спрашивают часто обновлено
Абстрактный класс или интерфейс в PHP
Вопрос
Что может абстрактный класс, но не может интерфейс?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Иметь свойства, конструктор и готовые реализации методов. Абстрактный класс может хранить состояние, иметь конструктор, защищённые методы и готовую реализацию.
Варианты ответа
- Объявлять константы с модификатором
public - Наследовать сразу несколько других интерфейсов
- Объявлять публичные методы без реализации
- Иметь свойства, конструктор и готовые реализации методовправильный ответ
Разбор
Абстрактный класс может хранить состояние, иметь конструктор, защищённые методы и готовую реализацию. Интерфейс содержит только сигнатуры публичных методов и константы. Константы есть у обоих. Интерфейс может расширять несколько интерфейсов (interface C extends A, B), а класс наследует только один класс. Публичные методы объявляют оба.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «ООП, трейты и интерфейсы»
- Продвижение свойств в конструкторе
- Класс с интерфейсом и наследованием
- final и видимость констант
- Диспетчер событий с приоритетами
- Склад с исключениями предметной области
- Фигуры через интерфейс и абстрактный класс
- self, static и parent
- Основные магические методы