Программные интерфейсы являются однонаправленными (хотя есть способы передать вызывающий объект в качестве ссылки на вызываемого абонента), в отличие от Electrical connectors, которые взаимодействуют в обоих направлениях напрямую.
Если вы принимаете эту разницу в определении, то объект, «реализующий» интерфейс, является объектом, с которым сопряжен интерфейс. он позволяет другим объектам подключаться к нему с использованием четко определенного набора методов.
Чтобы сравнить его с электроникой, если 3 различных типа устройств поддерживают аудиоразъемы, то все 3 устройства в основном утверждают: вы можете слушать меня, я воспроизвожу аудио. Они могут быть очень разными устройствами (mp3-плеер, сонар, счетчик Гейгера), но все они четко заявляют: если вы подключаете наушники, вы можете получить звук из меня.
Это то, что делает интерфейс в программном обеспечении. в нем говорится: я предоставляю функцию X, независимо от того, какой фактический компонент я есть.
так что все, что реализует интерфейс карты, может иметь вызовы .get (...) и .values () и .keySet(). Все, что реализует интерфейс AudioStream, будет выдавать аудиопоток при вызове.
Объект, взаимодействующий с объектом, поставляющим интерфейс, может взаимодействовать с этим объектом в предопределенном и хорошо документированном виде.Конечно, как объект, обеспечивающий интерфейс, фактически заставляет его работать, может быть совершенно другим.
это определение не имеет никакого смысла. Интерфейсы - это то, что описывает имя: INTERFACES - шаблоны, описывающие функциональность и, возможно, взаимодействие. На некоторых языках (а не на Java) они даже описывают (!) Хранящиеся/сохраненные данные. – specializt
@specializt это определение также неверно. –
, так что ИТ-реальность «тоже не права»? Hokay. – specializt