powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Теория. Полиморфизм.
25 сообщений из 47, страница 1 из 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
25 сообщений из 47, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Теория. Полиморфизм.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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