Полагаю, вы хотите очень простой ответ.
Существует 2 типа наследования:
- ТИП 1: наследование интерфейса (в
простые термины: когда снаружи
класс наследуется)
- ТИП 2:
наследование реализации (когда
внутри класса наследуется)
Если вы напишите
class MyClass : Base {}
вы используете ОБА типа 1 и 2. Но если вы реализуете интерфейс, это ясно, типа 1.
Тип 1 для полиморфного использования, а тип 2 для повторного использования кода.
Итак, если вы хотите использовать полиморфизм, но вы
- не хочу предоставлять
осуществление
- или просто не могу этого сделать. В основном в случае множественного наследования - примечание: c ++ позволяет это, это следует другой философии
интерфейсы для вас:)
Есть и другие способы использования (например, принудительная реализация метода), но, на мой взгляд, в этом суть.