Я люблю интерфейсы, но я только начинаю изучать, как их использовать. Самая гибкая и мощная интерфейсная система, которая существует на языке программирования, - это Go, но, как отмечали люди, Java популяризировал их, но они существовали 20 лет назад, и я хотел бы вспомнить язык, который я нашел на днях, начинается с «Я думаю, может быть, что-то о минерале или цветке в названии.
Основной принцип интерфейсов - создание описаний того, как они передают значения между. Они создают способ передачи фрагмента данных с некоторым набором применений в другую форму с очень близким набором применений. Интерфейсы обычно используют схему именования, чтобы указать, что определение интерфейса вращается вокруг абстрактной общности между несколькими вещами. В программировании все сводится к байтам, поэтому вы можете создавать интерфейсы вокруг совместного использования байтов, всегда есть некоторая общая особенность.
В практическом смысле интерфейс - это набор методов, окружающих тип данных, который вы не указали, за исключением расплывчатых. Go научит вас хорошо об интерфейсах. Интерфейсы появляются наиболее заметно на наиболее объектно-ориентированном языке, как OP, java, но, насколько я знаю, Go имеет самую мощную интерфейсную систему. Go имеет статическую типизацию, но типы интерфейсов не ограничивают данные в Go. Только те ограничения, которые вы определяете для типов, которые может пройти интерфейс.
Я только начинаю учиться программировать на Go с интерфейсами, но большой опыт, полученный опыт программистов на Go, полезен всем, кто интересуется интерфейсами. Интерфейсы должны быть компактными и функциональными. Очень часто вам не нужно определять интерфейс, потому что данные слишком разные. Может быть для хранения и передачи, все данные === все данные. Для этого и нужны интерфейсы. Две разные системы, какими структурами данных они делятся. Это именно то, что интерфейс.