Можно создать дубликат:
Need for Abstract Class as well as Interface?Почему нам нужен интерфейс, когда у нас есть абстрактный класс?
зачем нужен интерфейс, когда у нас есть абстрактный класс?
Ответ: Единственная цель, имеющий интерфейс, чтобы достичь множественного наследования
Поправьте меня, если я ошибаюсь
'интерфейсы' простота использования. Использование их гарантирует, что вы импортируете только описание API, а не состояние или функциональность (пока у нас нет виртуальных расширений на интерфейсах;) –