|
|
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Я тоже согласен с Партизаном. Добавить нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 00:15:57 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ LINUXER Kachalovможно унаследовать несколько методов с одинаковой сигнатурой и разной реализацией - возникает коллизия. В интерфейсах также - заимплементишь два интерфейса с одноимёнными полями - всё слетит.А какие у интерфейсов поля? Я имел в виду свойства. На самом деле с ними всё как надо.(ошибся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 08:33:05 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™ Partisan Mправильный ответ уже дан - множественное наследование не нужно. А неправильных можно давать сколько угодно. Никакая это не священная война, но достают некоторые с претензией "Почему Java это не C++". Ну и пользуйтесь своим С++ и не приставайте с глупостями. И не надо про "высокую квалификацию" программистов на С++". Я сам долго программировал на C++ (ввиду отсутствия выбора), и с тех пор как перешёл на Java, моя квалификация повысилась (поизучал новые технологии, доступные программистам на Java). Кстати, по моим наблюдениям, большинство программирующих на С++ - дураки, невежды, демократы и психи. Чтобы не быть голословным - один на прямо рабочем месте плевался (фирма Галактика). Я так и не понял, что он хотел этим выразить. Он же, каждый день программируя на VC6, года через 2 после появления VС7, спросил меня, чем оно отличается от VC7. И это не самый тяжёлый случай. О! Первый осмысленный (кроме заглавного) пост в этом топике. Да и заглавный пост тоже глуповат - он порождает обсуждение того, чего нет (имеется в виду java). Такой ответ обычно слышно на реплики типа Цпп - круто а остальное - г** А ещё более осмысленно можно сказать "правильный ответ уже дан(sun) - В JAVA нет множественного наследования"(трудно не согласиться) Обсудить я хотел действия в ситуации, когда нужно: Kachalov1. наследование функциональности нескольких родителей. 2. приведение типа к типу любого из родителей. и как и почему это делать не нужно (по принцыпу кун-фу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 09:37:43 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Остаюсь при мнении что МН нужно Видны варианты: Использовать композицию для наследования реализации и интерфейсов для приведения типов Использовать вложенные классы для наследования реализации//преобразовывать тогда видимо будет сложновато И то и другое выглядит сложно, но видимо реализовать МН в Java ещё сложней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 09:38:17 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Наисилил тему начиная где-то со второй страницы, вы друг дружку то понимаете? Впечатление, что каждый говорит о своем, о наболевшем, а не обсуждают нечто вместе. Была попытка привести пример, но и ту забраковали. Так может сначала договоритесь и создадите пример, где это МН нужно и начнете на примере этого примера обсуждать реализации и преимущества МН перед интерфейсами? А то публике, вас читающей, ни бельмеса непонятно. И такое впечатление, что правы те, кто защищает жабу и принцип "МН вредно и ненужно, что доказано неоднократно". У защитников же МН так и нет удачного примера, доказывающего, что без МН ГОРАЗДО хуже, чем с использованием его. И кстати, большие листинги выкладывать в тэге SRC - очень портит страницу и расширяет ее за всякие границы. Лучше откройте на nm.ru маленький хостинг и выкладывайте или отформатированный в html код, или зазипованные исходники, а ссылки на них кидайте в тему. Понятно, да? Ну или уж на mytempdir.com, рапидшару, хотя нет, на рапидшару не надо, очень трудно оттуда что-то взять, сидя за NAT с одим ip на тыщу пользователей. (Такие провайдеры у нас чтоб им пусто было) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 11:41:23 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
MatzumotoНаисилил тему начиная где-то со второй страницы, вы друг дружку то понимаете? Впечатление, что каждый говорит о своем, о наболевшем, а не обсуждают нечто вместе. Была попытка привести пример, но и ту забраковали. Так может сначала договоритесь и создадите пример, где это МН нужно и начнете на примере этого примера обсуждать реализации и преимущества МН перед интерфейсами? А то публике, вас читающей, ни бельмеса непонятно. И такое впечатление, что правы те, кто защищает жабу и принцип "МН вредно и ненужно, что доказано неоднократно". У защитников же МН так и нет удачного примера, доказывающего, что без МН ГОРАЗДО хуже, чем с использованием его. И кстати, большие листинги выкладывать в тэге SRC - очень портит страницу и расширяет ее за всякие границы. Лучше откройте на nm.ru маленький хостинг и выкладывайте или отформатированный в html код, или зазипованные исходники, а ссылки на них кидайте в тему. Понятно, да? Ну или уж на mytempdir.com, рапидшару, хотя нет, на рапидшару не надо, очень трудно оттуда что-то взять, сидя за NAT с одим ip на тыщу пользователей. (Такие провайдеры у нас чтоб им пусто было) Никто не будет выкладывать специально отформатированный код. Или зазипованные исходники. И на рапидшару никто выкладывать ничего не будет. Почему? Потому что не нравится - не читайте. Или купите нормальный монитор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 12:02:24 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
он жеНикто не будет выкладывать специально отформатированный код. Или зазипованные исходники. И на рапидшару никто выкладывать ничего не будет. Нормальные люди кстати выкладывают и на рапидшару и зазипованные, потому что хотят, чтобы их поняли. Поищите, даже на этом форуме постоянно встречаются ссылки на код, положенный на рапидшару и т.п. Не говоря о rsdn.ru. Почему? Потому что не нравится - не читайте. Или купите нормальный монитор Потому что нормальные люди если МОГУТ не писать, то НЕ пишут. А если пишут, то так, чтобы мысль донести в наиболее удобной форме, с форматированием, с подчеркиваниями, с выделением цветом, с зазипованными исходниками. Вон NotGonnaGetUs дал ссылку на нормальную полезную книгу и я ее уже скачал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 12:17:26 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
MatzumotoПоищите, даже на этом форуме постоянно встречаются ссылки на код, положенный на рапидшару и т.п. Не говоря о rsdn.ru. Не нужно заблуждаться. На RSDN дают ссылки, т.к. там идет обсуждение аналогичных тем и проще дать линк, чем переписывать тамошний текст. А по поводу рапидшары - ни один адекватный человек не положит туда файл размером меньше n*10 метров. И уж текстам-примерам там делать совершенно нечего. Никто не будет сидеть две минуты и ждать очередного примера весом в 2 килобайта :) При том что следующий можно слить только через n-надцать минут Matzumoto А если пишут, то так, чтобы мысль донести в наиболее удобной форме, с форматированием, с подчеркиваниями, с выделением цветом, с зазипованными исходниками. Мысль должна доноситься в виде грамотно сконструированных предложений. Выделения цветом, форматирование и подчеркивания - они только для исходников нужны. Исходники форматируются с помощью тега SRC (и, в принципе, терпимо). Что вас не устраивает - мне не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 12:36:29 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
MatzumotoNotGonnaGetUs дал ссылку на нормальную полезную книгу и я ее уже скачал Вас не затруднит привети прямую ссылочку. Я-бы тоже скачал. И почитал с удовольствием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 12:42:27 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
maytonВас не затруднит привети прямую ссылочку. Я-бы тоже скачал. И почитал с удовольствием.Первая же ссылка в гугле ftp:||files.zipsites.ru/books/programming/oop_osc2book.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 16:47:45 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
MatzumotoУ защитников же МН так и нет удачного примера, доказывающего, что без МН ГОРАЗДО хуже, чем с использованием его. Забавная демагогия. Есть факт: для приведенного мной простейшего примера никто не привел адекватной SH-реализации. Из этого делается вывод: ".. так и не удачного примера, доказывающего .." MatzumotoИ кстати, большие листинги выкладывать в тэге SRC - очень портит страницу и расширяет ее за всякие границы. Присоединяюсь к точке зрения "купите нормальный монитор". MatzumotoПонятно, да? Чувак, ты форумом не ошибся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 17:35:21 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarer MatzumotoПонятно, да? Чувак, ты форумом не ошибся?Ошибся, да. Если тут находятся люди, отстаивающие пользу МН, то вероятно ошибся. Вы бы еще стали доказывать, что с goto в умелых руках программы можно писать, главное умело goto применять и не допускать ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 20:13:17 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Кстати, сугубо для информации - программисты на Java регулярно применяют goto. Думаю, ты этого не поймешь, но break и continue - разновидности goto. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 21:13:22 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarerКстати, сугубо для информации - программисты на Java регулярно применяют goto. Думаю, ты этого не поймешь, но break и continue - разновидности goto. И это мы еще не пытались говорить об exception'ах, которые вообще умеют гоутусить через такие расстояния, что никаких goto не снились :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 21:18:10 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
exceptions - это не goto. Защищенный блок стоит рассматривать как неявную подпрограмму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 21:27:26 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarerexceptions - это не goto. Защищенный блок стоит рассматривать как неявную подпрограмму. Неа. Я про Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 22:38:50 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarerКстати, сугубо для информации - программисты на Java регулярно применяют goto. Думаю, ты этого не поймешь, но break и continue - разновидности goto.Да я и так это знаю, TiJ by Eckel читал. Но это - не классические goto. Так же и интерфейсы - не классическое МН. PS А еще в жабе const нет. А есть static final. И т.д. и т.п. Знаете, в жабе все есть, и если очень постараться можно и через goto написать и соорудить нечто напоминающее МН. Но для того и best practices, чтобы знать, что делать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 22:45:02 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
он жеКуда мы перейдем с // p.1 ? Смотри. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 23:09:18 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
MatzumotoНо это - не классические goto. Это удобный синтаксис для записи частного случая goto. Тем не менее, это все тот же goto, не соответствующий конструкциям структурного программирования. MatzumotoТак же и интерфейсы - не классическое МН. Уже лучше. MatzumotoЗнаете, в жабе все есть, и если очень постараться можно и через goto написать и соорудить нечто напоминающее МН. Но для того и best practices, чтобы знать, что делать нельзя. Все ж таки удивительно, как очевидна корреляция между специализацией и ориентацией шариков в мозгу. Топикстартер задал один простой вопрос: объясните, чем так плохо MH, что в Java его не стали реализовывать. Два или три человека в первых постах упомянули возможные неприятности, чем разумные ответы "против" и завершились, дальше начала работать замечательная в своей логичности точка зрения "в Java его нет, этим оно и плохо". Что любопытно, не так давно существовала еще одна очень похожая тема для священных войн - MSSQLщики в один голос объясняли, что версионность плоха и нафиг не нужна. Потом в MSSQL появилась версионность, и эти голоса тут же исчезли. Интересно, будет ли похожая судьба у наследования в Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2006, 23:39:28 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Да мож все попроще, мож Java выпускали второпях и времени нехватило на нормальную реализацию МН. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 00:02:57 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
bmv_rusДа мож все попроще, мож Java выпускали второпях и времени нехватило на нормальную реализацию МН. :) Сомневаюсь. MH среди прочего плохо сочетается с концепцией "виртуальных по умолчанию" методов - классы-наследники будут разваливаться по любому чиху, придется каждый раз, модифицируя предка, просматривать всех потомков (!) в поисках методов, которые нежданно-негаданно станут реализациями унаследованных. Собственно, это представляет определенную проблему и при SH, но при MH будет просто бардак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 00:12:44 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Ай, молодцы :) И про передачу параметров вспомнили, и про идеальный язык дельфи, и С++-ников с гавном смешали. Знатный топик получился :) Давайте, флейма ради, добавлю. 90% программистов (даже в java) не пользуются даже одиночным наследованием (обязательное наследование от специальных классов фреймвёрков в рассмотрение не берётся, т.к. делается на уровне "по другому нельзя"). Ещё 9% используют его "подмножествно" (да да: подмножество подмножества :)), а именно наследование от интерфейсов и наследование ради возможности осуществить полиморфный вызов (полностью описывается паттернами из разряда strategy или template method). И только 1% программистов занимается задачами (разработка фреймворков, разработка для повторного использования, не тривиальные предметные области), где возникает реальная необходимость в применении чего-то отличного от инкапсуляции для борьбы со сложностью. Т.о. 99% процентов программистов, рассуждая о наследовании, использует самодельные теории, которые никогда на практике не проверялись. Откуда берутся эти теории? Очевидно из открытых источников (таких как faq sun'a "почему в java нет множественного наследования?") и в соответствии с кругозором (в виде экспириенса в delphi/c++/qbasic (нужное подчеркнуть)). Играет ли тут роль многолетний опыт работы? Скорее нет, чем да, т.к. всё зависит от самой работы (типа решаемых задач) и отношения к ней. А что в итоге? Холивор :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 13:50:31 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs90% программистов (даже в java) не пользуются даже одиночным наследованием Да ладно Вам. У меня довольно низкое мнение о "среднем дельфере", но если верить Вам, выходит, что "средний явер" куда менее грамотен. NB! Если я правильно понял, под "пользованием наследованием" Вы имеете в виду "унаследовать собственный класс от собственного же класса" - так? NotGonnaGetUsИ только 1% программистов Хм. Есть один заочно знакомый мне молодой парень. Несколько месяцев назад он поступил java-стажером в одну из софтверных фирм второго эшелона - уровня "не то чтобы постоянно на слуху, но если напрячь мозги, каждый третий вспомнит , что уже о ней слышал". Дык вот, через месяц или два после начала его работы мы с ним вполне серьезно обсуждали структуру классов для выданной ему задачи. По его инициативе, и там было, над чем подумать. Видимо, он сходу вошел в этот 1%? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 13:59:25 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
softwarer NotGonnaGetUs90% программистов (даже в java) не пользуются даже одиночным наследованием Да ладно Вам. У меня довольно низкое мнение о "среднем дельфере", но если верить Вам, выходит, что "средний явер" куда менее грамотен. NB! Если я правильно понял, под "пользованием наследованием" Вы имеете в виду "унаследовать собственный класс от собственного же класса" - так? Я слегка гиперболизирую, чтобы мысль нашла более живой отклик, но суть именно какая. Только причина не столько в том, что "явер/дельфер/другое" не грамотный, а том, что задачи, где использование наследования не будет высосанным из пальца, встерчаются не так часто как может показаться. И даже там, где использование наследования уместно, обычно достаточно одного "уровня" наследования, причём с явно обозаченной целью (Сюда можно отнести создание "пограничных" классов/интерфейсов, через которые будует взаимодействовать различные части системы, определение родовых алгоритмов, конкретные детали которых задаются через наследования от классов с абстрактными методами или путём передачи объекта реализующего определённый интерфейс и т.п. Это, в общем-то частные, хотя и чрезвычайно полезные случаи применения наследования, которые имеют мало общего с понятием is-a или моделированием реальных отношений между сущностями предметной области) К слову о пальце. Наблюдал своими галазами иерархию глубиной(!) 20, отражащую, фактически, только классификацию контроллеров для обработки http-запросов. softwarer NotGonnaGetUsИ только 1% программистов Дык вот, через месяц или два после начала его работы мы с ним вполне серьезно обсуждали структуру классов для выданной ему задачи. По его инициативе, и там было, над чем подумать. Обсуждению, обычно, подлежит выделение сущностей и распределение между ними обязанностей для решения поставленной задачи. Само по себе наследование в этом процессе играет малую роль. softwarerВидимо, он сходу вошел в этот 1%? Согласно определению данному выше, в 1% входят те, кто решает достаточно сложные задачи. Значит, если ему дали такую задачу и он успешно с ней справился - значит вошёл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 15:09:08 |
|
||
|
Множественное наследование
|
|||
|---|---|---|---|
|
#18+
Высосанные из пальца - согласен, бывают. Я помню код решения задачки "открыть шаблон вордовского файла, подставить значения из БД, записать", решенной с выделением таких объектов, как "оператор поиска места для модификации", "оператор осуществления модификации".... Описывая такое вот "плоское программирование", Вы практически говорите о повседневном труде кодеров. По моим наблюдениям, большинство людей таки стремится из этого статуса вылезти, причем не только карьерно, но прежде всего фактически - по тем задачам, которые они пытаются на себя взять, подтягивают к себе, уговаривают.... Может быть это уже моя специфика - для меня "идеологический кодер, не желающий большего" является совершенно неинтересным сотрудником, но с моей точки зрения, реально стоит задача "подкидывать людям интересные задачки, иначе они огорчатся, будут плохо работать и в конце концов уйдут". И эти задачки - какие-то куски проектирования. Ну а по вопросам, которые задаются в том же дельфовом форуме, я бы сказал, что многие таки реально сталкиваются с задачами наследования и пытаются их как-то решать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 16:28:34 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34072276&tid=2147692]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
195ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 553ms |

| 0 / 0 |
