Полиморфизм и overloading
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        


««12

Полиморфизм и overloading Expand / Collapse
Автор
Сообщение
07.12.2006 23:42


Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 13.11.2007 15:00
Сообщ.: 47, Visits: 400
paradise (07.12.2006)
Фундаментален потому что прост?

Именно так. Потому как на принципах труднообъяснимых ничего не построишь ;)
Сообщ. #908640
11.12.2006 14:43
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 12.12.2006 17:30
Сообщ.: 45, Visits: 83
Danissimo, ты рассказал только про динамический полиморфизм, но есть также и статический (он же параметрический)

Есть мнение что полиморфизм это НЕ ТОЛЬКО динамический полиморфизм

Сообщ. #908762
11.12.2006 15:18
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.05.2007 20:20
Сообщ.: 662, Visits: 5 795
Да, наверное, можно и так подойти.

Но что я хочу сказать. Смотри, ученые изобрели теорию -- ООП. В ней, на сколько я знаю, полиморфизм только динамический (в твоей терминологии). И называется он там просто полиморфизм, ибо другого полиморфизма там нету. Поэтому и различать нечего.

Еще раз, с точки зрения теории, науки, полиморфизм единственен, а именно тот, который ты называешь динамическим. Я вот имеено это имел в виду. То есть наука не знает такого полиморфизма, который строится с помощью перегрузки имен операций.
Сообщ. #908763
11.12.2006 21:37
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 28.06.2008 13:52
Сообщ.: 1 298, Visits: 12 499
поли-морф-изм - многообразие форм, если уж исходить из термина как такого и это может, кстати, быть многообразием форм метода с одним и тем же названием

по мне, дак вопрос в самом начале был сформулирован некорректно, поэтому не вижу смысла спорить

также я согласен с Danissimo в том плане, что если речь идет об ООП и не уточняется какой полиморфизм имеется ввиду, то по-умолчанию - это динамический, который имеет прямое отношение к наследованию

С уважением,
Владимир
Сообщ. #908773
12.12.2006 10:32
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 12.12.2006 17:30
Сообщ.: 45, Visits: 83
я понял что, Danissimo и boombastik не согласны с автором http://www.javable.com/tutorials/fesunov/lesson8/ , и все же оставлю за собой право думать, что полиморфизм это НЕ ТОЛЬКО динамический полиморфизм, а ООП НЕ ТОЛЬКО наследование. 
Сообщ. #908784
12.12.2006 12:53
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.05.2007 20:20
Сообщ.: 662, Visits: 5 795
Welcome! =)
Сообщ. #908796
12.12.2006 13:04
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.05.2007 20:20
Сообщ.: 662, Visits: 5 795
Мне интересно, а автор уроков читал научные труды по ООП. Прочитав 40% урока, у меня сложилось впечатление, что он идет от практики. Но не от теории.
Сообщ. #908799
12.12.2006 16:32
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 28.06.2008 13:52
Сообщ.: 1 298, Visits: 12 499
danii, вы не правильно меня поняли, я не против терминов статический полиморфизм, динамический полиморфизм и др., я лишь хотел сказать, что вы задали некорректный вопрос, обсуждать который я не вижу смысла

является ли overloading реализацией полиморфизма?

во-первыйх, почему один термин по-английски, второй по русски? оба термина имеют устоявшиеся и достаточно четкие термины в обоих языках: overloading, polymorphism - перегрузка методов, полиморфизм

во-вторых, вы спрашиваете, является ли перегрузка методов реализацией полиморфизма, таким образом вы даете понять что полиморфизм является другим уровнем абстракции по сравнению с перегрузкой, то есть если полиморфизм - это механизм ООП, то перегрузка методов - это реализация данного механизма скажем в языке Java или ряде языков, такие как Java, C++, C#

тогда как, на мой взгляд, перегрузка методов лишь один из возможных видов полиморфизма, но не тот, на котором концентрирует свое внимание ООП, хотя и встречается он почти во всех ОО-языках

в-третьих, в каких рамках должна вестись дискуссия? я так понимаю полиморфизм имеется ввиду из области программирования, но обсуждаем ли мы общую теорию ООП, или конкретную реализаию ОО идей в Java, или стандартные механизмы ОО-языков вцелом, или просто флуд на тему: кто как представляет себе тот или иной термин?


по-моему, статья из википедии на английском языке полностью расскрывает этот вопрос и снимает данную тему с обсуждения: Type polymorphism

но обязательно с поправкой на следующую статью: Polymorphism in object-oriented programming

в общем и целом "Overloading" - это "Ad-hoc polymorphism"
под "Polymorphism"-ом в ООП понимается "polymorphism (object-oriented programming theory) is the ability of objects belonging to different types to respond to method calls of methods of the same name, each one according to an appropriate type-specific behaviour"

С уважением,
Владимир
Сообщ. #908819