Припустим, у меня есть интерфейс с методом A. Я создаю два дочерних к нему интерфейса, один имеет метод B, второй - метод C. После чего создаю класс, реализующий оба дочерних интерфейса, и объявляю там методы A, B и C. Не возникнет ли проблем с реализацией метода А? Чаще всего насчет ситуаций с одинаковыми именами методов в интерфейсах предлагают отдельную реализацию. Мне, к примеру, нужно, чтобы там выполнялось только одно действие. Или стоит вынести метод A в отдельный интерфейс?
Принятый ответ
реализован в классе.
Скользкое понятие.
В любом случае, даже если дочерний интерфейс переобъявит метод A() вот так:
interface iB
{ new void A(); void B(); }
и твой класс Class_Example реализует его, у тебя будут выполнятся одни и те же действия
В любом случае, даже если дочерний интерфейс переобъявит метод A() вот так:
interface iB
{ new void A(); void B(); }
и твой класс Class_Example реализует его, у тебя будут выполнятся одни и те же действия
- И в случае iB b = new Class_Example(); b.A()
- И в случае iA a = new Class_Example(); a.A();
- И в случае Class_Example class_name = new Class_Example(); class_name.A().
В случае, когда интерфейс не переобъявляет метод A() даже говорить не приходиться - тем более будут те же действия.
Вообще здесь такая штука, по моему мнению конкретно в этом случае надо разбираться по факту проблемы, а не по возможной проблеме.
P.S.
Насчет интерфейсов "Полный справочник по C#" , стр 320.
P.S.
Насчет интерфейсов "Полный справочник по C#" , стр 320.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован AsagiriGen
Если ты не переопределяешь метод А с помощью слова "new" в дочерних интерфесах iB и iC, то все дороги ведут в Рим - к методу A() интерфеса iA.
{ par.A(); } будет вызван iA.A() - так говорит компилятор
Отредактирован lentinant
Отредактирован AsagiriGen
В любом случае, даже если дочерний интерфейс переобъявит метод A() вот так:
interface iB
{ new void A(); void B(); }
и твой класс Class_Example реализует его, у тебя будут выполнятся одни и те же действия
P.S.
Насчет интерфейсов "Полный справочник по C#" , стр 320.
В интерфейсах методы не реализуются
Интерфейсы содержат сигнатуры методов
Если сигнатура совпадает то в чем вообще вопрос?
Отредактирован nvc123
то что автор не понимает что из себя представляет интерфейс очевидно из текста вопроса
и лично мне кажется что в джаве интерфейсы больше распространены чем в шарпе, что может служить оправданием для автора
это уже попахивает костылями