|
|
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
обьясните пожалуйста ото я недогоняю вот например можно создать поток используя интерфейс Runnable или как я понял можно создать любой другой интерфейс потом создать поток но почему не воспользоваться простым наследованием ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 04:57 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
ali_tashобьясните пожалуйста ото я недогоняю вот например можно создать поток используя интерфейс Runnable или как я понял можно создать любой другой интерфейс потом создать поток но почему не воспользоваться простым наследованием ? Пользуйся за чем дело стало... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 08:42 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
при одиночном наследовании интерфейсы позволяют реализовывать множественное с помощью делегирования кроме того используются в куче design patterns используются для гибкого связывания компонент системы смотри пример в Swing JTable/TableModel/DefaultTableModel интерфейсы очень нужны для удалённых вызовов типа RMI/COM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 08:46 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
авторпри одиночном наследовании интерфейсы позволяют реализовывать множественное с помощью делегирования хоть бы не позорились не знаете не надо советовать! интерфейсы нужны восновном чтобы сделать следующее Вы предполагаете что у Вас есть некий "объект" с определенными свойствами и поведением ну например терминал приема пластиковых карт в магазине. Со всеми картами надо проводить всего несколько действий проверить состояние счета и снять деньги (вернее перевести их куда-то), ну банков то много а магазин один и под каждый банк реализацию делать жутко геморно и вы оговариваете интерфейс взаимодействия. Те вы говорите я со всеми картами буду работать ( использовать интерфейс ) вот так и так, а банки в свою очередь реализуют интерфейс с которым вы будуте работать. Или в JDBC так же сделано. Оговоренные интерфейсы НИКОГДА НЕ ИЗМЕНЯЮТСЯ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 12:03 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
наследованием воспользоваться можно (так сначало и было и сейчас есть), но этот интерфейс ввели для того чтобы Вы могли сделать поток и не теряли возможности наследования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 12:07 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
vfabr авторпри одиночном наследовании интерфейсы позволяют реализовывать множественное с помощью делегирования хоть бы не позорились не знаете не надо советовать! интерфейсы нужны восновном чтобы сделать следующее для "следующего" подойдет и абстрактный класс, а интерфейсы необходимы для множественного наследования! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 12:09 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
am_sasa vfabr авторпри одиночном наследовании интерфейсы позволяют реализовывать множественное с помощью делегирования хоть бы не позорились не знаете не надо советовать! интерфейсы нужны восновном чтобы сделать следующее для "следующего" подойдет и абстрактный класс, а интерфейсы необходимы для множественного наследования! в яве нет множественного наследования. можно добиться некоего подобия , но это брехня. по сабжу: как уже говорилось выше, читайте о паттернах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 12:15 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
2am_sasa Вы милейший откройте словарик и сравните значения слов extends и implements наверное их не зря такие придумали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 13:08 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
vfabr Вы милейший откройте словарик и сравните значения слов extends и implements наверное их не зря такие придумали согласен, множественная реализация функционала, так сойдет? однако, приведенный пример не требует интерфейса! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 13:46 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
приведенный пример может быть решен как с помощью абстрактного класса так и с помощью интерфейса вотрое на мой взгляд предпочтительнее а множественное наследование имхо в 95% случаев признак неправельного проектирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 14:23 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
vfabrприведенный пример может быть решен как с помощью абстрактного класса так и с помощью интерфейса вотрое на мой взгляд предпочтительнее Обоснуй, чем предпочттельнее? vfabrа множественное наследование имхо в 95% случаев признак неправельного проектирования Еще один великолепный миф(с) Асприн. Если считать абстрактный класс у которого все методы абстрактные интерфейсом (из С++) то тогда все что можно реализовать с помощью интерфейсов реализуется через множественное наследование. Но наоборот не верно. Основная причина того что множественное наследования классов отсутсвует в java это то что её не успели напистаь а для оправдания придумалим миф. Если исходить тиз того что ЛЮБАЯ программа выполняется в машинных кодах, то тогда аналогично все что можно написать можно написать с момощью множественного наследования можно реализовать с помощью интерфейсов а также просто настучав на перфокарте машинные кода. Но насколько изящным и красивым будет такое решение уже другой вопрос. При рассмотрении некоторые шаблоны проэктирования просто напросто решают вопрос отсутсвия множественного наследования другие вопрос отсутсвия статического вызова метода (иногда называют вызвать метод дедушки super.super) По основному вопросу: класс подобен таблице в SQL а интерфейс VIEW. Иногда удобно работать с объектом а иногда с видом(view) на него через интерфейс. Это уже доло вкуса и эстетики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 16:17 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
Евгений Путилин............ По основному вопросу: класс подобен таблице в SQL а интерфейс VIEW. Иногда удобно работать с объектом а иногда с видом(view) на него через интерфейс. Это уже доло вкуса и эстетики. интересное, но неудачное сравнение, как ни крути класс и таблица в SQL разные вещи. как и View и interface ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 16:28 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
авторОбоснуй, чем предпочттельнее? да даже только тем что интерфейсы менять нельзя (типа соглашение) :-) определились 1 раз и все. Абстрактный класс использовать конечно можно но врядли Вы запихнете в него какую нибуть реализацию, а если там все методы будут абстрактны то и получится по сути интерфейс так зачем это нужно? авторЕще один великолепный миф(с) Асприн. пример из собственной практики в студию где Вы не смоги обойтись без множественного наследования! У меня образование не программиское (уж незнаю плохо это или хорошо :-) ), а просто инженерное. так вот я знаю следующее для того чтобы возможно было создать нечто очень большое (или неочень) где требуется труд больше чем 1 человека то для успешной реализации полезно (а может и необходимо) оговаривать "интерфейсы". Те я должен воспринимать большинство "кубиков" системы как черные ящики которые мне предоставляют возможность с ними работать по оговоренным заранее "интерфейсам" здесь все тоже самое. Плюсы данного подхода надеюсь объяснять не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 17:06 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
Евгений Путилин vfabrприведенный пример может быть решен как с помощью абстрактного класса так и с помощью интерфейса вотрое на мой взгляд предпочтительнее Обоснуй, чем предпочттельнее? 1) абстрактный класс предназначен для вынесения общей логики иерархии классов. просто нелогично объявлять вместо интерфейса абстрактный класс, у которого все методы абстрактные... в методах класса, имхо, должна быть логика (читай код), а не просто объявления 2) иерархий может быть больше одной 3) public оставляются только интерфейсы, тогда юзер (девелопер) работает на уровне интерфейсов, не касаясь реализаций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 17:35 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
Евгений Путилин Еще один великолепный миф(с) Асприн. Если считать абстрактный класс у которого все методы абстрактные интерфейсом (из С++) то тогда все что можно реализовать с помощью интерфейсов реализуется через множественное наследование. Но наоборот не верно. Основная причина того что множественное наследования классов отсутсвует в java это то что её не успели напистаь а для оправдания придумалим миф. Миф придумали те, кто придумал, что всё что отсутствует в java отсутствует из-за того, что это не успели написать. Чтобы был потом повод по оправдываться. А ещё, наверное, авторы java не успели реализовать передачу пораметров по ссылке? Тоже теперь оправдываются, что без это код проще и его легче поддерживать... Кстати, в С# тоже не успели реализовать множественное наследование? Наверное торопились сильно... может в спецификации 4.0 оно наконец появится? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 19:15 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
tfинтересное, но неудачное сравнение, как ни крути класс и таблица в SQL разные вещи. как и View и interface Ага а во что проэцируется класс при OR Mapping? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 10:30 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
vfabr авторОбоснуй, чем предпочттельнее? да даже только тем что интерфейсы менять нельзя (типа соглашение) :-) только его как правило все нарушают. vfabr определились 1 раз и все. Абстрактный класс использовать конечно можно но врядли Вы запихнете в него какую нибуть реализацию, а если там все методы будут абстрактны то и получится по сути интерфейс так зачем это нужно? Тем что в абстактном классе можно кимбинировать абстрактные и реальные методы а в интерфейсе нельзя. vfabr авторЕще один великолепный миф(с) Асприн. пример из собственной практики в студию где Вы не смоги обойтись без множественного наследования! Не могу пример сейчас в школе. :-) Ответный вопрос приведите пример из собственной жизни где вы не смогли обойтись машинными кодами нужно было именно использовать интерфейсы? vfabr У меня образование не программиское (уж незнаю плохо это или хорошо :-) ), а просто инженерное. так вот я знаю следующее для того чтобы возможно было создать нечто очень большое (или неочень) где требуется труд больше чем 1 человека то для успешной реализации полезно (а может и необходимо) оговаривать "интерфейсы". Те я должен воспринимать большинство "кубиков" системы как черные ящики которые мне предоставляют возможность с ними работать по оговоренным заранее "интерфейсам" здесь все тоже самое. Плюсы данного подхода надеюсь объяснять не надо. Ты дал определиние компонентного или модульного програмирования, интерфейсы тут не причем достаточно определить описание функций и не лезть в их реализацию. Анлогичные слова были написанны при объяснения классов с виртуальными функциями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 10:39 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
Евгений Путилин tfинтересное, но неудачное сравнение, как ни крути класс и таблица в SQL разные вещи. как и View и interface Ага а во что проэцируется класс при OR Mapping? класс содержит не только объекты но их их свойства и поведение, поэтому сравнение неудачное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 12:40 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
2Евгений Путилин Вы наверное здесь лучше всех знаете что и как надо делать :-) я не буду с Вами спорить я свою точку зрения высказал. Вы высказали. Кому надо сделает выбор какой считает нужным :-) афтару надеюсь памагли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 12:54 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
Евгений Путилин Еще один "теоретик"? то что возможности множественного наследования покрывают возможности интерфейсов - это я думаю и так всем ясно. думаю всем также известны сложности с ним связанные... интерфейсы это компромисс, который позволяет решать определенный круг задач без побочных эффектов и сложностей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 13:26 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
vfabrВы наверное здесь лучше всех знаете что и как надо делать :-) Наезд к чему? vfabrя не буду с Вами спорить я свою точку зрения высказал. Вы высказали. Кому надо сделает выбор какой считает нужным :-) Недавно в топиках было что Java програмист не все решает. Аналогично выбор делают за нас, под давлением общественности добавили template и перегрузку операторов для BinDecimal. Скоро добавять я для всего остального(предполажение). В этом отказа от множественного наследования в связи с кривым использованием решают метод головной боли отсечением головы, тоже подход но не всегда правильный. . vfabrафтару надеюсь памагли Могу добавить что есть еще 3-й способ стартовать поток :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 15:20 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
funikovyuri Евгений Путилин Еще один "теоретик"? Не попал с точностью до наоборот IMHO миф о том что множественное наследование и т.д. идет от теоретиков. funikovyuriто что возможности множественного наследования покрывают возможности интерфейсов - это я думаю и так всем ясно. думаю всем также известны сложности с ним связанные... интерфейсы это компромисс, который позволяет решать определенный круг задач без побочных эффектов и сложностей Зато порождают кучу других, для решения которых используются определенне шаблоны проэктирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 15:24 |
|
||
|
В чём смысл интерфейсов ?
|
|||
|---|---|---|---|
|
#18+
Евгений Путилин Теоретик у меня в кавычках стоял не просто так... так что судя по всему я прав Зато порождают кучу других, для решения которых используются определенне шаблоны проэктирования. Далее, судя по всему должны идти примеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 15:44 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33500796&tid=2150374]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
146ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 416ms |

| 0 / 0 |
