|
|
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
dejavewА если по-существу, то мне кажется, что мод имелл ввиду то, что общее понятие полиморфизм -а не ограничивается рамками ООП/ООЯ... Вот именно. Примеров можно привести много, особенно в обработке данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2007, 09:52:21 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
dejavew Живой пример: определение функции map в Haskell - map :: (x -> y) -> [x] -> [y], x и y - абсолютно "полиморфные" типы, независимые друг-от-друга, реализуемые бесконечным количеством "реальных" воплощений. Во-первых, тема начинается со слов "Столкнулась с темой \"трёх китов\" ООП ", поэтому речь идёт именно о полиморфизме в ООП. Это важно помнить, т.к. математикам свойственно одно и тоже слово в разных прикладных областях использовать по своему. Возвращясь к вашему примеру. Слова 'x,y - абсолютно "полиморфные" типы' вообще лишены смысла, т.к. в данном случае полиморфным типом является тип функции map, а типы x и у могут быть любые. Опять же, конструирование полиморфных типов в хаскель никак не соотносится с понятием полиморфизма в ООЯ'ах. Для таких целей используется параметризация типов. Н-р: Код: 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. Во-вторых, когда модободобные любители ФЯ начинают исходиться желчью слыша об ООЯ'ах и Модератор: предупреждение называя их обрубками и обрезками истинных и гармоничных концепций, дарованых божественным предком всех языков программирования, они забывают, что базис в котром описывать свойства языков существует не в единственном числе. И так же точно, как ООЯ можно описывать в терминах ФЯ, также и ФЯ можно выразить через термины ООЯ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 11:27:58 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
мод dejavewА если по-существу, то мне кажется, что мод имелл ввиду то, что общее понятие полиморфизм -а не ограничивается рамками ООП/ООЯ... Вот именно. Примеров можно привести много, особенно в обработке данных. Точно. Например, можно привести много примеров того, как разводятся и плодятся кролики. Только какое отношение эти примеры будут иметь к полиморфизму в ООЯ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 11:29:49 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Модератор: предупреждение Прошу великодушного нисхождения к словесным излишествам, кои я (в порыве запальчивости) имел неосторожность употребить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 13:11:18 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs... когда модободобные любители ФЯ начинают исходиться желчью слыша об ООЯ'ах и ... называя их обрубками и обрезками истинных и гармоничных концепций, дарованых божественным предком всех языков программирования, они забывают... Что за слова-то такие "модободомодободомодободомодободо" ты выдумываешь "в порыве запальчивости"? И кто тут относил себя к "любителям ФЯ", а уж тем более - "исходился желчью", называл что-то "обрубками и обрезками" (кроме тебя самого)? Модератор: позвольте Вам напомнить, что поведение мембров буду только я обсуждать. Вам не стоит напрягаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 13:37:57 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
dejavew NotGonnaGetUs... когда модободобные любители ФЯ начинают исходиться желчью слыша об ООЯ\'ах и ... называя их обрубками и обрезками истинных и гармоничных концепций, дарованых божественным предком всех языков программирования, они забывают... Что за слова-то такие "модободомодободомодободомодободо" ты выдумываешь "в порыве запальчивости"? И кто тут относил себя к "любителям ФЯ", а уж тем более - "исходился желчью", называл что-то "обрубками и обрезками" (кроме тебя самого)? Всё просто. В данном топике имели место слова о том, что "полиморфизм - это частный случай вызова процедуры-функции по образцу" "Полиморфизм прекрасно существовал и существует и без наследования и без ООЯ." В другом топике мод высказал своё однозначное отношение к ООП /topic/379368&pg=1 mod NotGonnaGetUs Мне очень любопытно понять с какой колокольни ты смотришь на ООП и почему оно вызывает у тебя такую необычную реакцию отторжения. Смотрю как на синтаксическое извращение причем практически бесполезное. Но это всё лирика. Как насчёт дискуссии по существу вопроса? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 13:58:49 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsречь идёт именно о полиморфизме в ООП При такой постановке вопроса конечно обсуждать нечего, и так все ясно. Однако большинство задач обработки данных использует полиморфизм (явно или неявно), но не использует ООП, что и создает определенные проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 14:03:40 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
мод NotGonnaGetUsречь идёт именно о полиморфизме в ООП При такой постановке вопроса конечно обсуждать нечего, и так все ясно. Однако большинство задач обработки данных использует полиморфизм (явно или неявно), но не использует ООП, что и создает определенные проблемы. "Определённые проблемы" вызывает не то, что в каких-то задачах что-то используется, а непоследовательность в рассуждениях. В общем случае, полиморфизм - это возможность иметь много форм. В частости, в пределах одного вида могут быть резко отличные по облику особи, не имеющие переходных форм (мужчины/женщины), одно и тоже вещество может принимать разные кристалические формы, функция может иметь много реализаций. При таком широком взгляде, использование любой спецификации не определяющей реализацию (будь то интерфейс объекта, сингнатура функции, именованная ссылка) можно рассматривать как пример полиморфизма в действии и говорить, что в "большинстве задач" таковой используется. Беда в том, что такие формулировки слишком общи, а потому мало полезны. Какой практический смысл называть полиморфизмом возможность присвоить функциональной переменной ссылку на различные функции с одинаковой сигнатурой, если это просто "присвоение переменной значения"? Для галочки "полиморфизм тут был"? Тоже самое относится к возможности одинаково именовать функции с разными сигнатурами, т.н. параметрический полиморфизм. И ещё меньше смысла, отвечая на вопрос про то, что такое полиморфизм в ООП, говорить, что это "частный случай вызова процедуры-функции по образцу", т.к. это равносильно следующему ответу на вопрос "что такое круг?": "круг - это проекция цилиндра, конуса, полусферы, другой диковинной шутки на двухмерную поверхность (нужное подчеркнуть)". Но, как обычно, все останутся при своих мнениях :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 15:14:39 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs...В другом топике мод высказал своё однозначное отношение к ООП /topic/379368&pg=1 ... Но это всё лирика. Как насчёт дискуссии по существу вопроса? :) Ну, в другом топике бы его и "клеймил" своими "модободо", причем, в ответ на цитаты из его постов, а не из моих... (а то как-то странно все это выглядит со стороны). А насчет т.н. "дискуссии по существу вопроса" - что, собс-нно, обсуждать-то? Если твою нелюбовь к ФП/ФЯ (и всему, что так или иначе косвенно пересекается с мод -ом "в другом топике"), то тут я - пас... Если твое вИдение полиморфизма в ООП/ООЯ - тогда уж лучше переместиться тот "в другой топик", там по крайней мере высказывания более-менее адекватных людей попадаются, а не только "модободо"-фобов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 15:34:45 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
dejavew NotGonnaGetUs...В другом топике мод высказал своё однозначное отношение к ООП /topic/379368&pg=1 ... Но это всё лирика. Как насчёт дискуссии по существу вопроса? :) Ну, в другом топике бы его и "клеймил" своими "модободо", причем, в ответ на цитаты из его постов, а не из моих... (а то как-то странно все это выглядит со стороны). А насчет т.н. "дискуссии по существу вопроса" - что, собс-нно, обсуждать-то? Если твою нелюбовь к ФП/ФЯ (и всему, что так или иначе косвенно пересекается с мод -ом "в другом топике"), то тут я - пас... Если твое вИдение полиморфизма в ООП/ООЯ - тогда уж лучше переместиться тот "в другой топик", там по крайней мере высказывания более-менее адекватных людей попадаются, а не только "модободо"-фобов... 1. Хмм... Вообще-то я очень люблю фя, но не люблю тех, кто делает из них культ :) 2. "По-существу" - первая часть моего ответа на ваше сообщение. 3. Моё видение полиморфизма в ООЯ (озвученное в предыдущих сообщениях) совпадает с общеизвестным. Единственно, я добавил в него свою оценку ценности того или иного вида полиморфизма. Я с удовольствием послушаю и пообсуждаю другие видения и оценки :) 4. Я не отношу вас к тем личностям, намёк на которых сделал, употребив слово начинающеся на "м" и кончающееся на "е". Если вам так показалось, покорнейше прошу прощения. В "во вторых" говорится о том, что пользоваться абстракциями ФЯ для описания абстракций ООЯ или наоборот, довольно глупо, т.к. в обоих подходах достаточно мощности, чтобы выразить друг друга. Модератор: с этого момента переходим к полиморфизму. Особенно это касается dejavew ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:07:30 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
Модератор:позвольте Вам напомнить, что поведение мембров буду только я обсуждать. Вам не стоит напрягаться. Модератор:с этого момента переходим к полиморфизму. Особенно это касается dejavew Ну, ба-лин, ваще-е-е-е... Слыхал я, что на форумах SQL-RU модераторы, мягко говоря, не могут похвастаться адекватностью, но такого гипертрофированого комплекса неполноценности еще поискать... Да, плевать мне на полиморфизм, честно говоря, пусть его обсуждают те, у кого есть с этим проблемы... Мне гораздо интересней, откуда это "мембр" NGGU извлек такой хитро-вые...ный ООЯ, в котором можно ad-hoc определять реализацию интерфейсов прямо в конструкторе экземпляра фактически еще несуществующего класса? (я об этом "пассаже"): Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 11:26:29 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
dejavew Мне гораздо интересней, откуда это "мембр" NGGU извлек такой хитро-вые...ный ООЯ Это что - Java 7, C#3.0 или что-то "из головы" приводящего примеры?мне показалось, что этот код относится к вот этому пассажу NotGonnaGetUsконструирование полиморфных типов в хаскель возможно я не прав, надеюсь, NotGonnaGetUs пояснит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 12:14:00 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
4321мне показалось, что этот код относится к вот этому пассажу NotGonnaGetUsконструирование полиморфных типов в хаскель Да нет, синтаксис очень напоминает Java ("toString()" у объектов и "add()" у стандартных коллекций с маленькой буквы, "HashMap" в качестве встроенного типа). Но что-то я не припомню, чтобы в существующих версиях Java были уже реализованы "анонимные" классы (по-моему, сан-техники даже еще до "анонимных" методов не добрались). Хотя, может быть - отстал от жизни... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 12:30:23 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
dejavew 4321мне показалось, что этот код относится к вот этому пассажу NotGonnaGetUsконструирование полиморфных типов в хаскель Да нет, синтаксис очень напоминает Java ("toString()" у объектов и "add()" у стандартных коллекций с маленькой буквы, "HashMap" в качестве встроенного типа). Но что-то я не припомню, чтобы в существующих версиях Java были уже реализованы "анонимные" классы (по-моему, сан-техники даже еще до "анонимных" методов не добрались). Хотя, может быть - отстал от жизни... Анонимные классы появились в java чуть ли не с версии 1.1, если мне изменяет память. Если изменят, то с версии 1.2. Генерики появились в java в версии 1.5, до этого просуществовав в течении нескольких лет ввиде расширения к стандартной java (н-р, http://pizzacompiler.sourceforge.net/ , которые предлагает помимо прочего поддержку first-class функций и алгебраических типов). В java 1.6 появилась поддержка исполнения скриптовых языков. В java 1.7 будут полноценные замыкания, которые упростят синтаксис применяемый сейчас при создании анонимных классов с одним методом и позволят достаточно элегантно использовать многие общепринятые в фя способы обработки данных (в частности левые/правые свёртки, etc). С# 3.0 (см.проект LINQ, http://msdn2.microsoft.com/en-us/vcsharp/aa336745.aspx) пошёл ещё дальше и обещает собрать в себе многие вкусности из ФЯ. Язык Nemerle создаваемый на базе .NET (http://nemerle.org/Main_Page) представляет собой фактически самый интересный гибрид ОО и Ф парадигм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 13:15:47 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
On Understanding Types, Data Abstraction, and Polymorphism. Luca Cardelli, Peter Wegner Similarity relations among type expressions that permit a type expression to denote more than one type, or to be compatible with many types, are referred to as polymorphism. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2010, 06:03:22 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Параметрический полиморфизм не является полиморфизмом как таковым. О чём уже не однократно писалось в этом форуме (в том числе и мной). Н-р, записи: а) fun parseInt(text: string): int fun parseInt(text: string, radix: int): int это не параметрический полиморфизм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2010, 11:42:54 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
tchingiz, А это что ? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 12:06:11 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
_модtchingiz, А это что ? Код: plaintext 1. параметрический полиморфизм, очевидно же, функция типа f :: a -> a и называется она identity (в CL/Scheme) или id (в Haskell) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 13:29:04 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
Для себя решил, что если спросят про полиморфизм на собеседовании или еще где, то ничего на словах объяснять не буду. Просто приведу куски кода на том языке, который предположительно на будущей работе будет чаще всего использоваться. Например, для С++ - динамический полиморфизм, реализуемый через механизм наследования и таблицы виртуальных функций, и статический, реализуемый через шаблоны. Также скажу, что некоторые считают и перегрузку функций + параметры по умолчанию некоторой разновидностью полиморфизма. Код: 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. 30. 31. В завершение можно сказать для чего он нужен - для реализации идеи "каркасного" программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 14:26:53 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
kosh the bestздесь, например a->foo(); - встречается в 2 местах, но выполняет разные действия. Ваш пример тиричный ad_hoc overloading ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 15:39:41 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
> Ваш пример тиричный ad_hoc overloading Да, знаю. Смысл моего поста в том, что не стоит углубляться в теории, сложные темы легче всего показывать на примерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 15:52:48 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36770902&tid=1343401]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 433ms |

| 0 / 0 |
