Реализация интерфейса правильной терминологии - PullRequest
0 голосов
/ 22 июня 2011

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

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

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

Спасибо.

Ответы [ 4 ]

6 голосов
/ 22 июня 2011

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

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

, но

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

.

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

4 голосов
/ 22 июня 2011

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

1 голос
/ 22 июня 2011

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

0 голосов
/ 22 июня 2011

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

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

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