


Объясните тупо зачем нужны интерфейсы в java и в c# если есть абстрактные классы и все такое. Как использовать интефейсы
Объясните тупому зачем нужны интерфейсы в java и в c# если есть абстрактные классы и все такое. Как использовать интефейсы и зачем. Зачем нужны IEnumereibal IList
Что бы повысить уровень абстракции. Хотя я и не люблю определение, что интерфейсы задают поведение типов, но благодаря им можно группировать разные объекты, у которых возможно некоторое общее поведение. Например. Есть человек и самолет. Вроде как объекты разные. И есть интерфейс IMovable, который содержит метод Move. И человек и самолет могут имплементировать этот интерфейс и каждый будет по своему переопределять метод Move. Что касается IEnumerable и IList - то это интерфейсы иерхии коллекций. Каждый интерфейс добавляет новый уровень и какие-то методы (Add, Count, Remove и т. д.)
Интерфейсы нужны, чтобы некий код, понятия не имеющий о самом классе, мог использовать его особенности, описанные интерфейсом.
Вот в С++ нет интерфейсов. Но есть очень страшный механизм с названием "множественное наследование".
интерфейсы полезны, когда нужно использовать особенности некоторых разных классов. лично сам я редко использую всякие ооп штучки, и на производстве тоже не все применяется