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