интерфейсы c



Автор Dmitryj задал вопрос в разделе Другие языки и технологии

Зачем нужны интерфейсы в ООП. C# и получил лучший ответ

Ответ от Пётр Добрынин[гуру]
ты конечно можешь описать нужный тебе метод в каждом классе наследнике. Но вот представь себе ситуацию, у тебя массив экземпляров твоих классов, естественно их все прийдётся привести к object и как ты на массиве object'ов вызовешь свой метод? только рефлексией. А имея массив с элементами типа IInterface ты сможешь на них вызвать любой метод объявленный в этом интерфейсе, этого эффекта конечно можно было добиться используя абстрактный класс или унаследовать их все от одного конкретного класса, но т. к в c# нет множественного наследования, МС не захотела так ограничивать разработчиков и ввела интерфейсы.

Ответ от Александр Бердюгин[гуру]
странно что вопрос задан здесь, а не в техсаппорте майкрософта!

Ответ от Вадим Рич[активный]
Интерфейсы как раз нужны чтобы разработчик не забыл реализовать метод в классе. Интерфейс является своего рода требованием к реализации, он требует от класса к которому был применен обязательной реализации описанных методов.

Ответ от А[гуру]
Предположим такую ситуацию: "Я вот тут пишу прогу, поможешь? У меня метод должен сортировать масивы. Ему передаётся класс-сортировщик и массив. Я написал пока только сортировку пузырьком. Напиши мне сортировку вставками. " - Второй программист никогда не видел программу первого. Если он напишет такой класс-сортировщик, то первый программист не сможет его использовать, т. к. его метод принимает совершенно другой тип. Тогда придётся писать другой метод, для этого типа. Но в реальности таких типов может быть сотни и тысячи. Эту проблему как раз и решают интерфейсы.
Пример очень простой, но наглядный. На самом деле их применение куда шире и они очень полезны. Например для написания плагинов сторонними разработчиками, для расширяемости приложения и т. д.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Зачем нужны интерфейсы в ООП. C#
Интерфейс объектно-ориентированное программирование на Википедии
Посмотрите статью на википедии про Интерфейс объектно-ориентированное программирование
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*