2011-06-22 4 views
0

Если у меня есть метод, который имеет в качестве аргумента Базовый класс типа я могу передать его каждый объект класса, который продлил этот базовый класс, так как производный класс также является базовым классом ,Реализация интерфейса правильную терминологию

Так что, если у меня есть метод, который имеет в качестве аргумента интерфейса типа я могу передать его каждый объект класса, который реализован этот интерфейс, потому что этого класс также интерфейс или все интерфейсы она может воплощать в жизнь.

Это правильная терминология для использования с интерфейсом?

Спасибо.

+0

Да, это правильно – schoetbi

+2

класс не является интерфейс, он * * реализует интерфейс –

+0

@Felice: Наследование означает «Есть» Таким образом, можно сказать, и другим. – schoetbi

ответ

6

Правильная терминология не будет

, что класс также является Интерфейсом

но

, что класс может вести себя так же, как интерфейсные обещания

вместо.

С классами классов это похоже на «Я могу работать с любым трудовым работником». С интерфейсами это похоже на «я могу работать со всем, что работает».

+0

да, это довольно правильный язык. «этот класс ведет себя точно так же, как обещания интерфейса». – amod

+0

Я бы не согласился с использованием слова «behave». Это нормально для двух реализаций того же интерфейса, которые ведут себя по-разному. Терминология связывания заключается в том, что реализация интерфейса совместима с определенным протоколом связи. – sharkin

4

that class is also an interface Я не согласен с этой строкой. Этот класс не является интерфейсом, этот класс просто реализовал этот интерфейс. На мой взгляд это утверждение that class is also an interface бы неправильно

1

Более точные формулировки будут «любой экземпляр некоторого класс D, который является производным от базового класса B также экземпляраB», и «любой экземпляра некоторого класс D, который реализует интерфейс I также может быть , на который ссылаются - I ". Этот способ формулировки делает четкое различие между классом, интерфейсом и экземпляром.

0

этот класс также интерфейс

Я бы не выразить это таким образом (в основном потому, что класс не интерфейс). Я бы выразить это так:

  • .. этот класс обеспечивает API интерфейса ..
  • .. этот класс обеспечивает поведение, определенное с помощью интерфейса
  • .. этот класс реализует интерфейс ..
Смежные вопросы