danii

Полиморфизм и overloading

01.12.2006, 17:57. Показов 13312. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
является ли overloading реализацией полиморфизма
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2006, 17:57
Ответы с готовыми решениями:

Overloading+Overriding
Дано : class A { boolean f(A a) { return true; } } class B extends A{ boolean f(A a) { return false; } boolean...

Исключения и полиморфизм (непонятна задача)
Всем привет, приступлю сразу к делу, в книге Сьерра К и Бейтс Б. на странице 364 есть задание смысл которого мне не совсем ясен, т.е. что...

Брюс Эккель Философия Java 2015. Полиморфизм
Здравствуйте уважаемые форумчане. В книге (страница 248) есть такой простенький пример кода: class Super { public int field = 0; ...

37
wind
08.12.2006, 02:42
Студворк — интернет-сервис помощи студентам
paradise (07.12.2006)
Фундаментален потому что прост?
Именно так. Потому как на принципах труднообъяснимых ничего не построишь
danii
11.12.2006, 17:43
Danissimo, ты рассказал только про динамический полиморфизм, но есть также и статический (он же параметрический)
Есть мнение что полиморфизм это НЕ ТОЛЬКО динамический полиморфизм
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
11.12.2006, 18:18
Да, наверное, можно и так подойти.



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



Еще раз, с точки зрения теории, науки, полиморфизм единственен, а именно тот, который ты называешь динамическим. Я вот имеено это имел в виду. То есть наука не знает такого полиморфизма, который строится с помощью перегрузки имен операций.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
12.12.2006, 00:37
поли-морф-изм - многообразие форм, если уж исходить из термина как такого и это может, кстати, быть многообразием форм метода с одним и тем же названием



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



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



С уважением,

Владимир
0
danii
12.12.2006, 13:32
я понял что, Danissimo и boombastik не согласны с автором http://www.javable.com/tutorials/fesunov/lesson8/ , и все же оставлю за собой право думать, что полиморфизм это НЕ ТОЛЬКО динамический полиморфизм, а ООП НЕ ТОЛЬКО наследование.
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
12.12.2006, 15:53
Welcome! =)
0
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
12.12.2006, 16:04
Мне интересно, а автор уроков читал научные труды по ООП. Прочитав 40% урока, у меня сложилось впечатление, что он идет от практики. Но не от теории.
0
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
12.12.2006, 19:32
danii, вы не правильно меня поняли, я не против терминов статический полиморфизм, динамический полиморфизм и др., я лишь хотел сказать, что вы задали некорректный вопрос, обсуждать который я не вижу смысла

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

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

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

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

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


по-моему, статья из википедии на английском языке полностью расскрывает этот вопрос и снимает данную тему с обсуждения: http://en.wikipedia.org/wiki/Type_polymorphism Type polymorphism

но обязательно с поправкой на следующую статью: http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming 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"

С уважением,
Владимир
0
danii
12.12.2006, 19:47
тогда как, на мой взгляд, перегрузка методов лишь один из возможных видов полиморфизма, но не тот, на котором концентрирует свое внимание ООП, хотя и встречается он почти во всех ОО-языках
вот эту мысль я и хотел донести. То что overriding - это реализация полиморфизма, большинство ответит "да", поэтому этот вопрос я не задавал. на вопрос является ли overloading реализацией полиморфизма большинство отвечает "нет", хотя на самом деле "да", это и Вы признали.
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
12.12.2006, 20:01
это НЕ реализация полиморфизма

это вид полиморфизма



и доступен он нам лишь потому, что термин полиморфизм сам по себе намного шире того значения как понимает его теория ООП



существует, например, биологический полиморфизм и это между прочем тоже вид полиморфизма
0
danii
12.12.2006, 20:11
ок. пусть будет так.
overloading это вид полиморфизма. с этим я согласен.
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
12.12.2006, 20:12
попробую по другому



на вопрос "является ли механизм перегрузки методов полиморфизмом в общем понимании?" ответ будет однозначным: "да"



на вопрос "является ли механизм перегрузки методов полиморфизмом с точки зрения теории ООП?" ответ будет однозначным: "нет"



С уважением,

Владимир
0
danii
12.12.2006, 20:24
вопрос в ветке java. поэтому ответ "да", overloading в java это также полиморфизм
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
12.12.2006, 20:29
тогда сформулируйте, пожалуйста, ваш вопрос применительно к Java



а то получается как в путеводителе по галлактике "Ответ на главный вопрос жизни, вселенной и всего такого" достоверно известен, а вот над формулировкой вопроса бьются не один миллион лет
0
danii
12.12.2006, 20:35
я думаю, что все вопросы в этом разделе задаются применительно к java.
по вашему надо было спросить так
является ли overloading видом полиморфизма применительно к java.
7 / 7 / 12
Регистрация: 13.02.2007
Сообщений: 1,255
12.12.2006, 20:50
я привел выше 2 формулировки, которые на мой взгляд имеют смылс, к сожалению, не вижу, каким образом можно сформулировать ваш вопрос применительно к Java, поэтому и попросил вас это сделать



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



но вопрос звучит по меньшей мере странно, да и ответ на него не принисет никому счастья



кроме того, не совсем понимаю, почему перегрузку методов вы называете overloading, в то время как polymorphism вы все время обзываете полиморфизмом?
0
sergioK
15.12.2006, 03:55
Это как в фильме о приключениях ментов ,:lol:
Какая разница что знаешь из чего ствол сделан если стрелять не научился ?
Является перегрузка разновидностью полиморфизма или нет , да какая разница ? здесь же не форум по философии, нужно уметь этим понятиями пользоваться и все ,
paradise
25.01.2007, 22:29
sergioK (15.12.2006)
Это как в фильме о приключениях ментов ,:lol:



Какая разница что знаешь из чегоствол сделан если стрелять ненаучился ?



Является перегрузка разновидностью полиморфизма или нет , да какая разница ? здесь же не форум по философии, нужно уметь этим понятиями пользоваться и все ,


Ты упускаешь из виду одно важное обстоятельство: люди, которые ведут спор в философском наклонении о практических вещах, как правило, прекрасно умеют использовать предмет спора на практике.



Например я читаю данный топик чтобы поднять настроение. Вот когда думаешь, что в мире полно идиотов и тормозов - заходишь, читаешь и отдыхаешь.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2007, 22:29
Помогаю со студенческими работами здесь

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

Полиморфизм
Здравствуйте! Если я хочу создать полиморфический массив, допустим: Animal dogs = new Dog Какие методы я смогу вызвать через этот...

Полиморфизм
public class Shape { public void draw() { //ничего не делаем } } public class Square extends Shape { public void...

Полиморфизм
дана программа class X { int i; public X() { i = 5; this.print(); }

Полиморфизм
дана программа class X { int i; public X() { i = 5; this.print(); } public void print() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Опции темы

Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru