Если класс только один и не предполагается, что появятся другие классы реализующие данный интерфейс, то нет смысла создавать интерфейс.
Смысл в полиморфизме. Код может работать с объектами разных классов используя один интерфейс. Например, можно написать процедуру, обрабатывающую данные считываемые из потока ввода-вывода. Эту процедуру можно будет применять и для файла на диске, и для данных в памяти, и для данных получаемых по сети, если есть классы, реализующие интерфейс потока для каждого варианта. В Java InputStream является абстрактным классом, а не интерфейсом, но это не важно в данном случае.
> Можно ли назвать интерфейс в Java аналогом заголовочного файла (.h) в C++?
Нет. Аналог интерфейса в C++ – полностью абстрактный класс (содержащий только абстрактные методы).
Плохо, что отключены комментарии.
Другие языки программирования и технологии
Какой смысл в разбиении класса на интерфейс и реализацию?
Интерфейсы - особенность создания операционной системы windows, ядра операционной системы, управления процессами в операционной системе. На основе COM были реализованы технологии: Microsoft OLE Automation, ActiveX, DCOM, COM+, DirectX, а также XPCOM. Стандарт COM был разработан в 1993 году корпорацией Microsoft как основа для развития технологии OLE. Технология OLE 1.0 уже позволяла создавать т. н. «составные документы» (англ. compound documents): например, в пакете Microsoft Office эта технология позволяла включать диаграммы Microsoft Excel в документы Microsoft Word. Использование интерфейсов — один из вариантов обеспечения полиморфизма. IUnknown, от которого наследуются интерфейсы имеет следующие методы: AddRef, QueryInterface, Release. Реализовано оно на основе указателей типа void, то есть для независимости от типа объекта. На платформе .NET практически все классы наследуются от Object. А в Visual Basic переменные типа Variant
Похожие вопросы
- Зачем разделять файлы на реализацию и интерфейс в с++?
- интерфейс + реализация + прикладная программа в С++
- Объектно-ориентированное программирование. Программа и ее интерфейс.
- Объясните значение понятия "интерфейсы" в ООП? Что это такое, отличия от классов, зачем нужны, и где используются.
- GUI, Интерфейс, API
- Что такое "интерфейс"? Вот, я читаю - "IDisposable - это такой интерфейс..."... и Что такое IDisposable?
- Каким должен быть УДОБНЫЙ пользователю интерфейс программы? (см вн)
- У каких программ (по вашему мнению) самый "дер*мовый интерфейс.. . нелогичный и проч...
- Вопрос об элементах пользовательского интерфейса сайтов, порталов и веб-страниц?
- Я так понимаю, что бы создать графический интерфейс, например игру, недостаточно языка c++ ?