Dima VVV
Dima VVV | Репутация: 0 (Без голоса) 2 июня 2013 в 22:47
Зачем нужны интерфейсы в c#?
Добрый день.Посмотрел Ваши лекции,очень интересно и доступно,но не могу понять одного..Собственно,зачем нужны интерфейсы?Зачем нужны методы без реализации,если их все-равно придется реализовывать в классе-наследнике?Где же тут наследование тогда?Почему бы просто не описывать данный метод в каждом классе-наследнике?Разве это займет больше времени и усложнит задачу?
Заранее спасибо.
Иван Николаев
Иван Николаев | Репутация: 152 (Кандидат) 5 июня 2013 в 10:32

Для организации множественного наследования. Бывает так, что требуется написать единый полиморфный код для объектов из независимых иерархий. Допустим есть класс геометрических фигур и предположим строк. И у них есть общие методы, например, копирование и сравнение. Тому, кто разрабатывает сами классы, разницы конечно не будет. Но зато тому, кто будет работать уже с экземплярами, не придется думать о том, как (в нашем примере) копировать и сравнивать что строки, что геометрические фигуры. С его точки зрения поведение будет одинаковым.
Надеюсь, я правильно понял вопрос.
p.s. Спасибо за вопрос, пока думал как ответить, сам разобрался.