Выбор ответа Junior ООП, трейты и интерфейсы спрашивают часто обновлено

Абстрактный класс или интерфейс в PHP

Вопрос

Что может абстрактный класс, но не может интерфейс?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Иметь свойства, конструктор и готовые реализации методов. Абстрактный класс может хранить состояние, иметь конструктор, защищённые методы и готовую реализацию.

Варианты ответа

  1. Объявлять константы с модификатором public
  2. Наследовать сразу несколько других интерфейсов
  3. Объявлять публичные методы без реализации
  4. Иметь свойства, конструктор и готовые реализации методовправильный ответ

Разбор

Абстрактный класс может хранить состояние, иметь конструктор, защищённые методы и готовую реализацию. Интерфейс содержит только сигнатуры публичных методов и константы. Константы есть у обоих. Интерфейс может расширять несколько интерфейсов (interface C extends A, B), а класс наследует только один класс. Публичные методы объявляют оба.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.