Общий интерфейс позволяет коду работать с разными реализациями через единый контракт. Это обычно называют полиморфизмом подтипов, а не обязательно «функциональным полиморфизмом».
Зачем используют функциональный полиморфизм: создают интерфейс и реализуют его несколькими классами?
Общий интерфейс позволяет коду работать с разными реализациями через единый контракт. Это обычно называют полиморфизмом подтипов, а не обязательно «функциональным полиморфизмом».
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Общий интерфейс позволяет коду работать с разными реализациями через единый контракт. Это обычно называют полиморфизмом подтипов, а не обязательно «функциональным полиморфизмом».
Например, тест использует интерфейс отправки уведомления, а реализация может обращаться к настоящему сервису или тестовой заглушке. Вызывающий код меньше зависит от конкретного класса. Однако взаимозаменяемость требует соблюдения смысла контракта, а не только одинаковых сигнатур. Интерфейс ради единственного тривиального класса не всегда полезен: дополнительная абстракция должна решать задачу расширения, изоляции или тестируемости.