Вопрос проверяет понимание объектно-ориентированного проектирования и умение выбирать правильный инструмент для проектирования API.
Короткий ответ
Интерфейс используют, когда нужно задать контракт без хранения состояния.
Абстрактный класс применяют, когда есть общая логика и состояние, которое нужно переиспользовать.
Интерфейсы позволяют множественную реализацию, а абстрактные классы — нет.
Выбор зависит от того, нужен ли общий код и ограничения иерархии.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.