powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / В чём смысл интерфейсов ?
26 сообщений из 26, показаны все 2 страниц
В чём смысл интерфейсов ?
    #33498599
ali_tash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обьясните пожалуйста
ото я недогоняю

вот например можно создать поток используя интерфейс Runnable
или как я понял можно создать любой другой интерфейс потом создать поток
но почему не воспользоваться простым наследованием ?
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33498700
Polinio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ali_tashобьясните пожалуйста
ото я недогоняю

вот например можно создать поток используя интерфейс Runnable
или как я понял можно создать любой другой интерфейс потом создать поток
но почему не воспользоваться простым наследованием ?
Пользуйся за чем дело стало...
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33498706
Exppp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при одиночном наследовании интерфейсы позволяют
реализовывать множественное с помощью делегирования

кроме того используются в куче design patterns

используются для гибкого связывания компонент системы
смотри пример в Swing JTable/TableModel/DefaultTableModel

интерфейсы очень нужны для удалённых вызовов типа RMI/COM
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499320
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпри одиночном наследовании интерфейсы позволяют
реализовывать множественное с помощью делегирования

хоть бы не позорились не знаете не надо советовать!

интерфейсы нужны восновном чтобы сделать следующее

Вы предполагаете что у Вас есть некий "объект" с определенными свойствами и поведением ну например терминал приема пластиковых карт в магазине. Со всеми картами надо проводить всего несколько действий проверить состояние счета и снять деньги (вернее перевести их куда-то), ну банков то много а магазин один и под каждый банк реализацию делать жутко геморно и вы оговариваете интерфейс взаимодействия.

Те вы говорите я со всеми картами буду работать ( использовать интерфейс ) вот так и так, а банки в свою очередь реализуют интерфейс с которым вы будуте работать. Или в JDBC так же сделано.

Оговоренные интерфейсы НИКОГДА НЕ ИЗМЕНЯЮТСЯ!
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499337
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
наследованием воспользоваться можно (так сначало и было и сейчас есть), но этот интерфейс ввели для того чтобы Вы могли сделать поток и не теряли возможности наследования.
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499343
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vfabr авторпри одиночном наследовании интерфейсы позволяют
реализовывать множественное с помощью делегирования

хоть бы не позорились не знаете не надо советовать!

интерфейсы нужны восновном чтобы сделать следующее
для "следующего" подойдет и абстрактный класс, а интерфейсы необходимы для множественного наследования!
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499371
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasa vfabr авторпри одиночном наследовании интерфейсы позволяют
реализовывать множественное с помощью делегирования

хоть бы не позорились не знаете не надо советовать!

интерфейсы нужны восновном чтобы сделать следующее
для "следующего" подойдет и абстрактный класс, а интерфейсы необходимы для множественного наследования!
в яве нет множественного наследования. можно добиться некоего подобия , но это брехня.
по сабжу: как уже говорилось выше, читайте о паттернах.
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499376
Фотография johanna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499640
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2am_sasa

Вы милейший откройте словарик и сравните значения слов extends и implements наверное их не зря такие придумали
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499796
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vfabr
Вы милейший откройте словарик и сравните значения слов extends и implements наверное их не зря такие придумали согласен, множественная реализация функционала, так сойдет? однако, приведенный пример не требует интерфейса!
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33499920
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
приведенный пример может быть решен как с помощью абстрактного класса так и с помощью интерфейса вотрое на мой взгляд предпочтительнее

а множественное наследование имхо в 95% случаев признак неправельного проектирования
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33500239
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vfabrприведенный пример может быть решен как с помощью абстрактного класса так и с помощью интерфейса вотрое на мой взгляд предпочтительнее
Обоснуй, чем предпочттельнее?
vfabrа множественное наследование имхо в 95% случаев признак неправельного проектирования
Еще один великолепный миф(с) Асприн.
Если считать абстрактный класс у которого все методы абстрактные интерфейсом (из С++) то тогда все что можно реализовать с помощью интерфейсов реализуется через множественное наследование. Но наоборот не верно. Основная причина того что множественное наследования классов отсутсвует в java это то что её не успели напистаь а для оправдания придумалим миф.

Если исходить тиз того что ЛЮБАЯ программа выполняется в машинных кодах, то тогда аналогично все что можно написать можно написать с момощью множественного наследования можно реализовать с помощью интерфейсов а также просто настучав на перфокарте машинные кода.
Но насколько изящным и красивым будет такое решение уже другой вопрос. При рассмотрении некоторые шаблоны проэктирования просто напросто решают вопрос отсутсвия множественного наследования другие вопрос отсутсвия статического вызова метода (иногда называют вызвать метод дедушки super.super)

По основному вопросу: класс подобен таблице в SQL а интерфейс VIEW. Иногда удобно работать с объектом а иногда с видом(view) на него через интерфейс. Это уже доло вкуса и эстетики.
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33500280
tf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tf
Гость
Евгений Путилин............
По основному вопросу: класс подобен таблице в SQL а интерфейс VIEW. Иногда удобно работать с объектом а иногда с видом(view) на него через интерфейс. Это уже доло вкуса и эстетики.
интересное, но неудачное сравнение, как ни крути класс и таблица в SQL разные вещи.
как и View и interface
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33500398
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторОбоснуй, чем предпочттельнее?

да даже только тем что интерфейсы менять нельзя (типа соглашение) :-) определились 1 раз и все. Абстрактный класс использовать конечно можно но врядли Вы запихнете в него какую нибуть реализацию, а если там все методы будут абстрактны то и получится по сути интерфейс так зачем это нужно?

авторЕще один великолепный миф(с) Асприн.

пример из собственной практики в студию где Вы не смоги обойтись без множественного наследования!

У меня образование не программиское (уж незнаю плохо это или хорошо :-) ), а просто инженерное.

так вот я знаю следующее для того чтобы возможно было создать нечто очень большое (или неочень) где требуется труд больше чем 1 человека то для успешной реализации полезно (а может и необходимо) оговаривать "интерфейсы". Те я должен воспринимать большинство "кубиков" системы как черные ящики которые мне предоставляют возможность с ними работать по оговоренным заранее "интерфейсам" здесь все тоже самое. Плюсы данного подхода надеюсь объяснять не надо.
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33500529
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Путилин vfabrприведенный пример может быть решен как с помощью абстрактного класса так и с помощью интерфейса вотрое на мой взгляд предпочтительнее
Обоснуй, чем предпочттельнее?


1) абстрактный класс предназначен для вынесения общей логики иерархии классов. просто нелогично объявлять вместо интерфейса абстрактный класс, у которого все методы абстрактные... в методах класса, имхо, должна быть логика (читай код), а не просто объявления
2) иерархий может быть больше одной
3) public оставляются только интерфейсы, тогда юзер (девелопер) работает на уровне интерфейсов, не касаясь реализаций
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33500775
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Путилин
Еще один великолепный миф(с) Асприн.
Если считать абстрактный класс у которого все методы абстрактные интерфейсом (из С++) то тогда все что можно реализовать с помощью интерфейсов реализуется через множественное наследование. Но наоборот не верно. Основная причина того что множественное наследования классов отсутсвует в java это то что её не успели напистаь а для оправдания придумалим миф.


Миф придумали те, кто придумал, что всё что отсутствует в java отсутствует из-за того, что это не успели написать. Чтобы был потом повод по оправдываться.

А ещё, наверное, авторы java не успели реализовать передачу пораметров по ссылке? Тоже теперь оправдываются, что без это код проще и его легче поддерживать...

Кстати, в С# тоже не успели реализовать множественное наследование? Наверное торопились сильно... может в спецификации 4.0 оно наконец появится? :)
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33500796
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
+1
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33501552
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tfинтересное, но неудачное сравнение, как ни крути класс и таблица в SQL разные вещи. как и View и interface
Ага а во что проэцируется класс при OR Mapping?
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33501594
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vfabr авторОбоснуй, чем предпочттельнее?

да даже только тем что интерфейсы менять нельзя (типа соглашение) :-)

только его как правило все нарушают.
vfabr
определились 1 раз и все. Абстрактный класс использовать конечно можно но врядли Вы запихнете в него какую нибуть реализацию, а если там все методы будут абстрактны то и получится по сути интерфейс так зачем это нужно?

Тем что в абстактном классе можно кимбинировать абстрактные и реальные методы а в интерфейсе нельзя.
vfabr
авторЕще один великолепный миф(с) Асприн.

пример из собственной практики в студию где Вы не смоги обойтись без множественного наследования!

Не могу пример сейчас в школе. :-)
Ответный вопрос приведите пример из собственной жизни где вы не смогли обойтись машинными кодами нужно было именно использовать интерфейсы?
vfabr
У меня образование не программиское (уж незнаю плохо это или хорошо :-) ), а просто инженерное.

так вот я знаю следующее для того чтобы возможно было создать нечто очень большое (или неочень) где требуется труд больше чем 1 человека то для успешной реализации полезно (а может и необходимо) оговаривать "интерфейсы". Те я должен воспринимать большинство "кубиков" системы как черные ящики которые мне предоставляют возможность с ними работать по оговоренным заранее "интерфейсам" здесь все тоже самое. Плюсы данного подхода надеюсь объяснять не надо.
Ты дал определиние компонентного или модульного програмирования, интерфейсы тут не причем достаточно определить описание функций и не лезть в их реализацию.
Анлогичные слова были написанны при объяснения классов с виртуальными функциями.
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33502047
tf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
tf
Гость
Евгений Путилин tfинтересное, но неудачное сравнение, как ни крути класс и таблица в SQL разные вещи. как и View и interface
Ага а во что проэцируется класс при OR Mapping?
класс содержит не только объекты но их их свойства и поведение, поэтому сравнение неудачное.
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33502097
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Евгений Путилин

Вы наверное здесь лучше всех знаете что и как надо делать :-)

я не буду с Вами спорить я свою точку зрения высказал. Вы высказали. Кому надо сделает выбор какой считает нужным :-)

афтару надеюсь памагли
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33502210
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Путилин

Еще один "теоретик"?

то что возможности множественного наследования покрывают возможности интерфейсов - это я думаю и так всем ясно. думаю всем также известны сложности с ним связанные... интерфейсы это компромисс, который позволяет решать определенный круг задач без побочных эффектов и сложностей
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33502664
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vfabrВы наверное здесь лучше всех знаете что и как надо делать :-)

Наезд к чему?
vfabrя не буду с Вами спорить я свою точку зрения высказал. Вы высказали. Кому надо сделает выбор какой считает нужным :-)

Недавно в топиках было что Java програмист не все решает. Аналогично выбор делают за нас, под давлением общественности добавили template и перегрузку операторов для BinDecimal.
Скоро добавять я для всего остального(предполажение).
В этом отказа от множественного наследования в связи с кривым использованием решают метод головной боли отсечением головы, тоже подход но не всегда правильный.
. vfabrафтару надеюсь памагли
Могу добавить что есть еще 3-й способ стартовать поток :-)
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33502681
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri Евгений Путилин
Еще один "теоретик"?

Не попал с точностью до наоборот
IMHO миф о том что множественное наследование и т.д. идет от теоретиков.
funikovyuriто что возможности множественного наследования покрывают возможности интерфейсов - это я думаю и так всем ясно. думаю всем также известны сложности с ним связанные... интерфейсы это компромисс, который позволяет решать определенный круг задач без побочных эффектов и сложностей
Зато порождают кучу других, для решения которых используются определенне шаблоны проэктирования.
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33502777
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Путилин

Теоретик у меня в кавычках стоял не просто так... так что судя по всему я прав

Зато порождают кучу других, для решения которых используются определенне шаблоны проэктирования.

Далее, судя по всему должны идти примеры
...
Рейтинг: 0 / 0
В чём смысл интерфейсов ?
    #33503288
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri Евгений Путилин

Теоретик у меня в кавычках стоял не просто так... так что судя по всему я правИгра словами? И так ит ак я прав то вкавычках как отрицание или как выделение :-))))
funikovyuri
Зато порождают кучу других, для решения которых используются определенне шаблоны проэктирования.
Далее, судя по всему должны идти примеры
А если подумать что ты делаеш если тебе нужно множественное наследование? Какой патерн используется?
Также хотелось увидеть списов ыот этого интерфейсы это компромисс, который позволяет решать определенный круг задач без побочных эффектов и сложностей
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / В чём смысл интерфейсов ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]