я и не знаю что сказать.
Зачем интерфейс если есть абстрактный класс?
То есть, можно ли вторым всегда заменить первое? Ну или не всегда а хотя бы в большинстве случаев
В c++ это одно и тоже
наследоваться можно только от 1 класса, реализовать интерфейсы можно сколько угодно. это основное различие
Решается делегированием
С фига ли? Интерфейсы поддерживают множественное наследование и не имеют базовой реализации, абстрактные классы на оборот, к тому же интерфейсы не умею обычные поля иметь, максимум - свойства с определёнными сеттерами/геттерами. Интерфейсы используют для выделения логики в разных объектах, а абстрактные для создания семейства классов с похожей логикой. Понятно?
А можно использовать абстрактный класс как способ сделать di?
MSDI использует интерфейсы
Обсуждают сегодня