powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Теория. Полиморфизм.
47 сообщений из 47, показаны все 2 страниц
Теория. Полиморфизм.
    #34169265
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильно ли я понимаю
Overriding - это переопределение метода в наследуемом классе,
методы имеют одинаковое имя, одинаковое колич-во и тип параметров,
возвращают одинаковый тип и бросают одинаковые исключения( в
наследуемом классе может бросаться исключение- наследник)
Overloading - это перегузка методов методы имеют одинаковое имя,
разное колич-во и/или тип параметров, возвращают одинаковый тип,
НЕ обязательно бросают одинаковые исключения

Если рассматривать след. принципы ООП наследование, полиморфизм, инкапсуляция
является ли overriding полиморфизмом?
является ли overriding наследованием ?
является ли overloading полиморфизмом ?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169375
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
является ли overriding полиморфизмом? - Нет.
является ли overriding наследованием ? - Нет.
является ли overloading полиморфизмом ? - Нет.

Ваши определения overriding-а и overloading-а верны, а вот с полиморфизмом и наследованием нужно поразбираться.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169429
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
danii
правильно ли я понимаю
Overriding - это переопределение метода в наследуемом классе,
методы имеют одинаковое имя, одинаковое колич-во и тип параметров,
возвращают одинаковый тип и бросают одинаковые исключения( в
наследуемом классе может бросаться исключение- наследник)
Overloading - это перегузка методов методы имеют одинаковое имя,
разное колич-во и/или тип параметров, возвращают одинаковый тип,
НЕ обязательно бросают одинаковые исключения

Overloading применим не обязательно к классам. Например не в эхотажной
Delphi могут быть просто несколько Overloading процедур/функций.
wessen прав, почитай про полиморфизм. И не применительно к какому-либо
языку, а в целом.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169468
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно думал примерно над этим же. Но я гадать не привык, а привык лезть в словари.
Посмотрим, что говорит википедия:
http://ru.wikipedia.org/
возможность программного кода работать с объектами разных классов одинаковым образом. Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество методов».

Поэтому я бы сказал так - переопределение метода предка есть способ реализации полиморфизма.
Перезагрузка метода это не есть полиморфизм, у двух перезагруженных методов разный контракт. То есть для компилятора, по сути, они имеют разные имена.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169472
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читаю
http://www.javable.com/tutorials/fesunov/lesson8/
авторВ ООП применяется понятие полиморфизм .

Полиморфизм в ООП означает возможность применения одноименных методов с одинаковыми или различными наборами параметров в одном классе или в группе классов, связанных отношением наследования.
Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ).
авторOverriding
Это — динамический полиморфизм методов. Он называется поздним связыванием (dynamic binding, late binding, run-time binding). В C++ соответствующий механизм называется механизмом виртуальных функций.
Что здесь не так ?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169500
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я не согласен, что понятие полиморфизма применяется для методов с разной сигнатурой.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169502
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще оттуда же

авторТермин overloading можно перевести как перегрузку, доопределение, совместное использование. Мы будем использовать перевод совместное использование . Под совместным использованием понимают использование одноименных методов с различным набором параметров. При вызове метода в зависимости от набора параметров выбирается требуемый метод. При этом одноименные методы могут быть как в составе одного класса, так и в разных классах, связанных отношением наследования. Это статический полиморфизм методов классов.

т.е. выходит что

overloading - это реализация полиморфизма, т.н. статический полиморфизм
overriding - это реализация полиморфизма, т.н. динамический полиморфизм

или мы все не понима(-ем/-ли) что такое полиморфизм
или я неправильно понимаю прочитанное ?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169527
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeonidvЛично я не согласен, что понятие полиморфизма применяется для методов с разной сигнатурой. вот я тоже, не согласен!!! разная сигнатура - разные методы, зачет))))
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169585
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полиморфизм - возможность в связанных иерархией классах использовать одно
имя функции (метода) для обозначения сходных по смыслу действий и выбирать
конкретное действие лишь во время выполнения про-граммы. Например, объект
класса Водитель взаимодействует с объектом класса Автомобиль через его
интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой
или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет
аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря
на возможные различия в реализации методов интерфейса. Чаще всего понятие
полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор
вызываемой функции производится на этапе выполнения программы

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169609
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Michael Ponomarev
полиморфизм - возможность в связанных иерархией классах использовать одно
имя функции (метода) усе прально, тока имя функции я бы заменил на СИГНАТУРУ!
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169646
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
согласен.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169664
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Ponomarev
рассказал нам только про overriding
а что про overloading?

как Вы думаете, Michael,
overriding - это реализация полиморфизма?
overloading - это реализация полиморфизма?
и применим ли полиморфизм ТОЛЬКО к иерархии классов ?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169721
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Ponomarev
danii
правильно ли я понимаю
Overriding - это переопределение метода в наследуемом классе,
методы имеют одинаковое имя, одинаковое колич-во и тип параметров,
возвращают одинаковый тип и бросают одинаковые исключения( в
наследуемом классе может бросаться исключение- наследник)
Overloading - это перегузка методов методы имеют одинаковое имя,
разное колич-во и/или тип параметров, возвращают одинаковый тип,
НЕ обязательно бросают одинаковые исключения

Overloading применим не обязательно к классам. Например не в эхотажной
Delphi могут быть просто несколько Overloading процедур/функций.
wessen прав, почитай про полиморфизм. И не применительно к какому-либо
языку, а в целом.

Posted via ActualForum NNTP Server 1.3
Докатился, сам себя цитирую. Я рассказал про Overloading
daniiприменим ли полиморфизм ТОЛЬКО к иерархии классов
Вопрос про интерфейсы?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169731
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то старшие многоопытные товарищи молчат
Тут делфистов бывших/действующих прилично
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169771
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169806
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael,
склоняюсь к мысли, и Вам и Wessen очень даже не помешает также почитать про полиморфизм.
Посмотрите ссылку, которую дал я выше, там все доступно описано.

А уж идентифицировать динамическое связывание как overloading - это вообще близко к ереси
(если я правильно понимаю то, что прочитал)
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169846
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все верно, wiki пишет
Код: plaintext
Since overloading is done at compile time, it is not a substitute  for  late binding as found in subtyping polymorphism.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169851
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зашибись. Смотрю в монитор вижу тоже самое...

автор
А уж идентифицировать динамическое связывание как overloading - это вообще близко к ереси
(если я правильно понимаю то, что прочитал)

Где написано мной или еще кем-то что overloading - это динамическое связывание
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169882
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторполиморфизм - возможность в связанных иерархией классах использовать одно
имя функции (метода) для обозначения сходных по смыслу действий и выбирать
конкретное действие лишь во время выполнения про-граммы
. Например, объект
класса Водитель взаимодействует с объектом класса Автомобиль через его
интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой
или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет
аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря
на возможные различия в реализации методов интерфейса. Чаще всего понятие
полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор
вызываемой функции производится на этапе выполнения программы

и выбирать конкретное действие лишь во время выполнения про-граммы .
это и есть late binding - он же dinamic binding
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169903
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор туториала, считает полиморфизмом динамическое и статическое звязывание. Поэтому вот это его утверждение
автор
Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ).

вроде как и верно. Из-за это как мне кажется и возникла путаница. Потомучто в рамках Java, полиморфизм это только динамическое связывание. Поэтому нужно так:
автор
Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и реализация ( implementation ).
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169938
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen, а почему, ты считаешь
Код: plaintext
в рамках Java, полиморфизм это только динамическое связывание
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169950
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenАвтор туториала, считает полиморфизмом динамическое и статическое звязывание. Поэтому вот это его утверждение
автор
Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ).

вроде как и верно. Из-за это как мне кажется и возникла путаница. Потомучто в рамках Java, полиморфизм это только динамическое связывание. Поэтому нужно так:
автор
Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и реализация ( implementation ).


упс, надо так:
Понятие полиморфизма, в свою очередь, опирается на два других понятия: переопределение ( overriding ) и реализация ( implementation ).
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169951
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenАвтор туториала, считает полиморфизмом динамическое и статическое звязывание. Поэтому вот это его утверждение
автор
Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ).

вроде как и верно. Из-за это как мне кажется и возникла путаница. Потомучто в рамках Java, полиморфизм это только динамическое связывание. Поэтому нужно так:
автор
Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и реализация ( implementation ).

Это что то новое.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169973
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen, так утверждает не автор туториала а
http://www.javable.com/tutorials/fesunov/lesson8/
прочитай пожалуйста
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169980
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniiwessen, а почему, ты считаешь
Код: plaintext
в рамках Java, полиморфизм это только динамическое связывание


В книге Брюсса Эккеля "Философия Java" так написано. И причем написано однозначно, только динамическре и все тут.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34169988
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniiwessen, так утверждает не автор туториала а
http://www.javable.com/tutorials/fesunov/lesson8/
прочитай пожалуйста

я оттуда и брал цитату
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170001
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
danii авторполиморфизм - возможность в связанных иерархией классах использовать одно
имя функции (метода) для обозначения сходных по смыслу действий и выбирать
конкретное действие лишь во время выполнения про-граммы
. Например, объект
класса Водитель взаимодействует с объектом класса Автомобиль через его
интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой
или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет
аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря
на возможные различия в реализации методов интерфейса. Чаще всего понятие
полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор
вызываемой функции производится на этапе выполнения программы

и выбирать конкретное действие лишь во время выполнения про-граммы .
это и есть late binding - он же dinamic binding
ты теплое с мягким не путай
Где здесь написано что это есть overloading
Это есть Overriding
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170002
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen,
поставь цитату сюда
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170030
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniiwessen,
поставь цитату сюда

Лень переписывать.
Коллеги! Есть книжка "Философия Джава" в электронном виде, дайте ссылку пожалуйста danii, пускай лучше ее читает.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170040
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to michael ponomarev
авторполиморфизм - возможность в связанных иерархией классах использовать одно
имя функции (метода) для обозначения сходных по смыслу действий и выбирать
конкретное действие лишь во время выполнения про-граммы. Например, объект
класса Водитель взаимодействует с объектом класса Автомобиль через его
интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой
или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет
аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря
на возможные различия в реализации методов интерфейса. Чаще всего понятие
полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор
вызываемой функции производится на этапе выполнения программы
авторMichael Ponomarev
рассказал нам только про overriding
а что про overloading?
Код: plaintext
Докатился, сам себя цитирую. Я рассказал про Overloading

если это не ответ на мой вопрос -
тогда нигде
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170062
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen,
книга у меня есть
но что пролиморфзм - это ТОЛЬКО и ТОЛЬКО late binding,
я там видимо пропустил,
поставь все таки цитату, не поленись,
вопрос фундаментальный
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170090
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniiwessen,
книга у меня есть
но что пролиморфзм - это ТОЛЬКО и ТОЛЬКО late binding,
я там видимо пропустил,
поставь все таки цитату, не поленись,
вопрос фундаментальный

эххх..
Брюс
..
В этой главе мы изучим полиморфизм (также называемый динамическим связыванием, поздним связыванием, или связыванием во время выполнения), ...


седьмая глава третий абзац. Второе издание.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170099
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
unit overloaddemo
uses System; // может еще что
 interface 
  function sum(a: Integer; b: Integer): Integer;overload;
  function sum(a:  Double ; b:  Double ):  Double ;overload;
implementation
  function sum(a: Integer; b: Integer): Integer;overload;
  begin
    Result := a + b
  end;

  function sum(a:  Double ; b:  Double ): Integer;overload;
  begin
    Result := a + b;
  end;

end;
это overload. Где здесь полиморфизм или вообще ООП?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170128
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
та же книга читаем ниже
авторСоединение вызова метода с телом метода называется связывание Когда свзяывание осуществляется до запуска программы (компилятором и компоновщиком, если такой используется), то оно (связывание) называется ранним связыванием. Вы могли даже и не слышать о таком термине, поскольку такая технология не применялась в процедурных языках. C компиляторы имеют только одну разновидность вызова, и она как раз является ранним связыванием.

а раннее связывание используется в overloading
прочитай внимательнее эту книгу
одну и туже задачу можно решить использую как overriding так и overloading
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170150
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael,
что можно сделать в отдельной реализации отдельного языка не может опровергать фундаментальных принципов,
Вы идете от противного, в программировании - токой подход неприемлем имхо
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170171
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniimichael,
что можно сделать в отдельной реализации отдельного языка не может опровергать фундаментальных принципов,
Вы идете от противного, в программировании - токой подход неприемлем имхо
я вообще перестал понимать что ты хочешь сказать/доказать :)
другой пример
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 public   class  OverloadDemo {
   public   int  sum( int  a,  int  b) {
     return  a + b;
  }
   public   double  sum( double  a,  double  b) {
     return  a + b;
  }
}
Где здесь полиморфизм?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170198
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniiта же книга читаем ниже
авторСоединение вызова метода с телом метода называется связывание Когда свзяывание осуществляется до запуска программы (компилятором и компоновщиком, если такой используется), то оно (связывание) называется ранним связыванием. Вы могли даже и не слышать о таком термине, поскольку такая технология не применялась в процедурных языках. C компиляторы имеют только одну разновидность вызова, и она как раз является ранним связыванием.

а раннее связывание используется в overloading
прочитай внимательнее эту книгу
одну и туже задачу можно решить использую как overriding так и overloading

И чего? Где здесь написано, что полиморфизм в java это еще и раннее связывание. Более того, читаем на пару строчек ниже вашей цитаты:

автор
Связывание всех методов Java основано на механизме позднего связывания, ...
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170226
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю, не знаю ...
для меня не все очевидно так, как для тебя...

но если в яве все вызовы - это позднее связывание,
то тогда и overloading тоже позднее связывание,
тогда какие аргументы не считать overloading полиморфизмом
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170268
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danii
но если в яве все вызовы - это позднее связывание не все, есть еще static методы
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170327
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasa,
а вы как думаете, overloading - это реализация полиморфизма?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170343
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я только не пойму зачем вешать/не вышать полиморфизм на 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.
ParentClass.java:
 package  polymorphism;
 class  ParentClass {
   public   void  demo() {
    System.out.println("Parent");
  }
}

ChildClass.java:
 package  polymorphism;
 class  ChildClass  extends  ParentClass{
   public   void  demo() {
    System.out.println("Child");
  }
}

DemoClass.java:
 package  polymorphism;
 class  DemoClass{
   public   void  demo() {
    ParentClass pc =  new  ParentClass();
    ChildClass cc =  new  ChildClass();
    ParentClass whoIsIt;
    whoIsIt = pc;
    whoIsIt.demo();
    whoIsIt = cc;
    whoIsIt.demo();
  }
}
Ответ думаю знаешь.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170380
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daniiam_sasa,
а вы как думаете, overloading - это реализация полиморфизма? не задумывался... думаю дело не в терминалогии, а в понимании)))
overloading существовал за долго до ООП, а вот полиморфизм скорее нет, чем да... но могу ошибаться)))
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170395
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenИ чего? Где здесь написано, что полиморфизм в java это еще и раннее связывание. Более того, читаем на пару строчек ниже вашей цитаты:

автор
Связывание всех методов Java основано на механизме позднего связывания, ...


Утверждение "автора" для статических методов не выполняется.

Я вас, господа, не понимаю.

Слово "полиморфизм" в разных словосочетаних имеет "разный" смысл.


1. Наличие нескольких методов с разными сигнатурами в одной области видимости иногда называют "параметрическим полиморфизмом" (об ооп при этом может вообще не упоминаться).
Чаще всего при этом используется раннее связывание (в динамически типизированных языках это может быть не так).

2. наследование + позднее связывание = динамический полиморфизм.
Выбор какую реализации метода использовать зависит от "реального" типа объекта.
(в с#/c++ это верно для virtual-методов, в java - для всех не-static методов)

3. наследование + раннее связывание = статический полиморфизм.
Выбор реализации метода зависит от информации о типе объекта на момент "сборки" приложения.
Такой вариант "родной" для с#, с++ и в java для static методов.

Очевидно, что имея такие варианты определений отвечать на вопрос "это полиморфизм или нет" бессмысленно.

Я не стал бы называть словом "полиморфизмом" ничего кроме варианта N2.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170421
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Утверждение "автора" для статических методов не выполняется.


а еще оно не выполняется для final методов, это все опущено во многоточиях было :)
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170425
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs,
по твоему
http://www.javable.com/tutorials/fesunov/lesson8/
вводит нас в заблуждение ?
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34170688
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniiNotGonnaGetUs,
по твоему
http://www.javable.com/tutorials/fesunov/lesson8/
вводит нас в заблуждение ?
Молодец, ты правильно догадался. Пять баллов за смекалку. Если ты внимательно почитаешь статью из викепедии, то увидишь - моя цитата касается ООП полиморфизма. Я думаю, есть и другие методы для других подходов. В частности, как там и написано, параметрический полиморфизм - понятие из функциональных языков.

PS Я еще хотел в книжке глянуть, так там глава на 40 страниц описывает, что такое полиморфизм.
...
Рейтинг: 0 / 0
Теория. Полиморфизм.
    #34171227
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daniiNotGonnaGetUs,
по твоему
http://www.javable.com/tutorials/fesunov/lesson8/
вводит нас в заблуждение ?

Нас? Меня не вводит.

Просто там две разные вещи (см. п.1 и п.2) обзываются одним словом.

Лучше не читать этого афтора.
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Теория. Полиморфизм.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]