|
|
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniiwessen, так утверждает не автор туториала а http://www.javable.com/tutorials/fesunov/lesson8/ прочитай пожалуйста я оттуда и брал цитату ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:30:53 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
danii авторполиморфизм - возможность в связанных иерархией классах использовать одно имя функции (метода) для обозначения сходных по смыслу действий и выбирать конкретное действие лишь во время выполнения про-граммы . Например, объект класса Водитель взаимодействует с объектом класса Автомобиль через его интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря на возможные различия в реализации методов интерфейса. Чаще всего понятие полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор вызываемой функции производится на этапе выполнения программы и выбирать конкретное действие лишь во время выполнения про-граммы . это и есть late binding - он же dinamic binding ты теплое с мягким не путай Где здесь написано что это есть overloading Это есть Overriding ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:34:01 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
wessen, поставь цитату сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:34:03 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniiwessen, поставь цитату сюда Лень переписывать. Коллеги! Есть книжка "Философия Джава" в электронном виде, дайте ссылку пожалуйста danii, пускай лучше ее читает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:38:26 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
to michael ponomarev авторполиморфизм - возможность в связанных иерархией классах использовать одно имя функции (метода) для обозначения сходных по смыслу действий и выбирать конкретное действие лишь во время выполнения про-граммы. Например, объект класса Водитель взаимодействует с объектом класса Автомобиль через его интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря на возможные различия в реализации методов интерфейса. Чаще всего понятие полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор вызываемой функции производится на этапе выполнения программы авторMichael Ponomarev рассказал нам только про overriding а что про overloading? Код: plaintext если это не ответ на мой вопрос - тогда нигде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:40:01 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
wessen, книга у меня есть но что пролиморфзм - это ТОЛЬКО и ТОЛЬКО late binding, я там видимо пропустил, поставь все таки цитату, не поленись, вопрос фундаментальный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:43:16 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniiwessen, книга у меня есть но что пролиморфзм - это ТОЛЬКО и ТОЛЬКО late binding, я там видимо пропустил, поставь все таки цитату, не поленись, вопрос фундаментальный эххх.. Брюс .. В этой главе мы изучим полиморфизм (также называемый динамическим связыванием, поздним связыванием, или связыванием во время выполнения), ... седьмая глава третий абзац. Второе издание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:47:48 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
Michael Ponomarev Michael Ponomarev danii правильно ли я понимаю Overriding - это переопределение метода в наследуемом классе, методы имеют одинаковое имя, одинаковое колич-во и тип параметров, возвращают одинаковый тип и бросают одинаковые исключения( в наследуемом классе может бросаться исключение- наследник) Overloading - это перегузка методов методы имеют одинаковое имя, разное колич-во и/или тип параметров, возвращают одинаковый тип, НЕ обязательно бросают одинаковые исключения Overloading применим не обязательно к классам. Например не в эхотажной Delphi могут быть просто несколько Overloading процедур/функций. wessen прав, почитай про полиморфизм. И не применительно к какому-либо языку, а в целом. Posted via ActualForum NNTP Server 1.3 Докатился, сам себя цитирую. Я рассказал про Overloading daniiприменим ли полиморфизм ТОЛЬКО к иерархии классов Вопрос про интерфейсы? Повторонье мать учения да простит меня модератор Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:48:57 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
та же книга читаем ниже авторСоединение вызова метода с телом метода называется связывание Когда свзяывание осуществляется до запуска программы (компилятором и компоновщиком, если такой используется), то оно (связывание) называется ранним связыванием. Вы могли даже и не слышать о таком термине, поскольку такая технология не применялась в процедурных языках. C компиляторы имеют только одну разновидность вызова, и она как раз является ранним связыванием. а раннее связывание используется в overloading прочитай внимательнее эту книгу одну и туже задачу можно решить использую как overriding так и overloading ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:52:41 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
michael, что можно сделать в отдельной реализации отдельного языка не может опровергать фундаментальных принципов, Вы идете от противного, в программировании - токой подход неприемлем имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 12:57:55 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniimichael, что можно сделать в отдельной реализации отдельного языка не может опровергать фундаментальных принципов, Вы идете от противного, в программировании - токой подход неприемлем имхо я вообще перестал понимать что ты хочешь сказать/доказать :) другой пример Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:02:33 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniiта же книга читаем ниже авторСоединение вызова метода с телом метода называется связывание Когда свзяывание осуществляется до запуска программы (компилятором и компоновщиком, если такой используется), то оно (связывание) называется ранним связыванием. Вы могли даже и не слышать о таком термине, поскольку такая технология не применялась в процедурных языках. C компиляторы имеют только одну разновидность вызова, и она как раз является ранним связыванием. а раннее связывание используется в overloading прочитай внимательнее эту книгу одну и туже задачу можно решить использую как overriding так и overloading И чего? Где здесь написано, что полиморфизм в java это еще и раннее связывание. Более того, читаем на пару строчек ниже вашей цитаты: автор Связывание всех методов Java основано на механизме позднего связывания, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:07:12 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
не знаю, не знаю ... для меня не все очевидно так, как для тебя... но если в яве все вызовы - это позднее связывание, то тогда и overloading тоже позднее связывание, тогда какие аргументы не считать overloading полиморфизмом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:11:35 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
danii но если в яве все вызовы - это позднее связывание не все, есть еще static методы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:22:31 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
am_sasa, а вы как думаете, overloading - это реализация полиморфизма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:34:19 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
Я только не пойму зачем вешать/не вышать полиморфизм на override или overload ? Полиморфизм: Код: 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. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:36:52 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniiam_sasa, а вы как думаете, overloading - это реализация полиморфизма? не задумывался... думаю дело не в терминалогии, а в понимании))) overloading существовал за долго до ООП, а вот полиморфизм скорее нет, чем да... но могу ошибаться))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:44:59 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
wessenИ чего? Где здесь написано, что полиморфизм в java это еще и раннее связывание. Более того, читаем на пару строчек ниже вашей цитаты: автор Связывание всех методов Java основано на механизме позднего связывания, ... Утверждение "автора" для статических методов не выполняется. Я вас, господа, не понимаю. Слово "полиморфизм" в разных словосочетаних имеет "разный" смысл. 1. Наличие нескольких методов с разными сигнатурами в одной области видимости иногда называют "параметрическим полиморфизмом" (об ооп при этом может вообще не упоминаться). Чаще всего при этом используется раннее связывание (в динамически типизированных языках это может быть не так). 2. наследование + позднее связывание = динамический полиморфизм. Выбор какую реализации метода использовать зависит от "реального" типа объекта. (в с#/c++ это верно для virtual-методов, в java - для всех не-static методов) 3. наследование + раннее связывание = статический полиморфизм. Выбор реализации метода зависит от информации о типе объекта на момент "сборки" приложения. Такой вариант "родной" для с#, с++ и в java для static методов. Очевидно, что имея такие варианты определений отвечать на вопрос "это полиморфизм или нет" бессмысленно. Я не стал бы называть словом "полиморфизмом" ничего кроме варианта N2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:47:37 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
автор Утверждение "автора" для статических методов не выполняется. а еще оно не выполняется для final методов, это все опущено во многоточиях было :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:51:38 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs, по твоему http://www.javable.com/tutorials/fesunov/lesson8/ вводит нас в заблуждение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 13:51:59 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniiNotGonnaGetUs, по твоему http://www.javable.com/tutorials/fesunov/lesson8/ вводит нас в заблуждение ? Молодец, ты правильно догадался. Пять баллов за смекалку. Если ты внимательно почитаешь статью из викепедии, то увидишь - моя цитата касается ООП полиморфизма. Я думаю, есть и другие методы для других подходов. В частности, как там и написано, параметрический полиморфизм - понятие из функциональных языков. PS Я еще хотел в книжке глянуть, так там глава на 40 страниц описывает, что такое полиморфизм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 14:42:40 |
|
||
|
Теория. Полиморфизм.
|
|||
|---|---|---|---|
|
#18+
daniiNotGonnaGetUs, по твоему http://www.javable.com/tutorials/fesunov/lesson8/ вводит нас в заблуждение ? Нас? Меня не вводит. Просто там две разные вещи (см. п.1 и п.2) обзываются одним словом. Лучше не читать этого афтора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 16:51:38 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2147328]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
210ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 556ms |

| 0 / 0 |
