интерфейсы c



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

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

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

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

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

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

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Зачем нужны интерфейсы в ООП. C#
спросили в Техника Сделать
У меня ресивер GS 7300 что с ним можно сделать что бы показывал Mpeg4 СУПЕР ОПТИМУМ? Может кто чего пробовал?
Cпутниковый ресивер DRE-7300 имеет чип STI 5518 позволяющий осуществлять основные функции обработки
подробнее...
спросили в C++ Книги о C++
Чем отличается коренным образом класс от структуры в c#
class C {
public int Value { get; set; }
public C(int value) {
Value = value;
}
подробнее...
спросили в Borland C++
Люди, а есть-ли визуальная среда разработки на C++?
C++ Builder (по-русски обычно произносят [си-плюс-плюс би́лдэр] ) — среда быстрой разработки
подробнее...
спросили в C Sharp X Window System
В чем отличие C Sharp, С, и С++?
C - язык, придуманный в начале 70-х, с соответствующими концепциями. С тех пор вносились улучшения,
подробнее...
спросили в Калидии
Не могу опредилиться между C++ и C#, с чего начать программировать. Вот знаю например что в C++ нужно самим управлять...
Мой путь был таков. .
1 - Школа - Basic. На нём нам хорошо объяснили основы алгоритмизации
2
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Игры Microsoft
microsoft visual c++2005 redistributable что это? зачем он мне нужен? что будет если я его удалю?
Например некоторые программы не работают без определенной версии Microsoft Visual C++
подробнее...
спросили в Visual Basic NET
Visual Basic vs C++
Защита информации - это экономический фак, насколько мне известно. 🙂 Учите VSB, потом
подробнее...
спросили в SATA Express
C++ Visual Studio 2010 Express
Строчка необходима, чтобы приостановить работу программы. Программа ждёт пока пользователь прочтёт
подробнее...

C# методы
Взято из инета.

Глобальные переменные в C#

Просто подумайте и ответьте себе
подробнее...
спросили в Книги о C++
Можно ли на C++ написать сложные программы? Как?
Можно. Те книги которые тебе попадались были для начинающих, вот в них и показали азы. В
подробнее...

Какой язык программирования лучше изучать: C++ или C# ?
C# проще, C++ универсальнее, поддерживается на многих платформах, скомпилированные с него программы
подробнее...
Интерфейс объектно-ориентированное программирование на Википедии
Посмотрите статью на википедии про Интерфейс объектно-ориентированное программирование
 

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

Имя*

E-mail:*

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