
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.12.2006, 09:00:46
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
правильно ли я понимаю Overriding - это переопределение метода в наследуемом классе, методы имеют одинаковое имя, одинаковое колич-во и тип параметров, возвращают одинаковый тип и бросают одинаковые исключения( в наследуемом классе может бросаться исключение- наследник) Overloading - это перегузка методов методы имеют одинаковое имя, разное колич-во и/или тип параметров, возвращают одинаковый тип, НЕ обязательно бросают одинаковые исключения Если рассматривать след. принципы ООП наследование, полиморфизм, инкапсуляция является ли overriding полиморфизмом? является ли overriding наследованием ? является ли overloading полиморфизмом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 09:52:49
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
является ли overriding полиморфизмом? - Нет. является ли overriding наследованием ? - Нет. является ли overloading полиморфизмом ? - Нет. Ваши определения overriding-а и overloading-а верны, а вот с полиморфизмом и наследованием нужно поразбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 10:16:48
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
danii правильно ли я понимаю Overriding - это переопределение метода в наследуемом классе, методы имеют одинаковое имя, одинаковое колич-во и тип параметров, возвращают одинаковый тип и бросают одинаковые исключения( в наследуемом классе может бросаться исключение- наследник) Overloading - это перегузка методов методы имеют одинаковое имя, разное колич-во и/или тип параметров, возвращают одинаковый тип, НЕ обязательно бросают одинаковые исключения Overloading применим не обязательно к классам. Например не в эхотажной Delphi могут быть просто несколько Overloading процедур/функций. wessen прав, почитай про полиморфизм. И не применительно к какому-либо языку, а в целом. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 10:31:23
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
Недавно думал примерно над этим же. Но я гадать не привык, а привык лезть в словари. Посмотрим, что говорит википедия: http://ru.wikipedia.org/ возможность программного кода работать с объектами разных классов одинаковым образом. Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество методов». Поэтому я бы сказал так - переопределение метода предка есть способ реализации полиморфизма. Перезагрузка метода это не есть полиморфизм, у двух перезагруженных методов разный контракт. То есть для компилятора, по сути, они имеют разные имена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 10:33:57
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
читаю http://www.javable.com/tutorials/fesunov/lesson8/ авторВ ООП применяется понятие полиморфизм . Полиморфизм в ООП означает возможность применения одноименных методов с одинаковыми или различными наборами параметров в одном классе или в группе классов, связанных отношением наследования. Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ). авторOverriding Это — динамический полиморфизм методов. Он называется поздним связыванием (dynamic binding, late binding, run-time binding). В C++ соответствующий механизм называется механизмом виртуальных функций. Что здесь не так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 10:43:08
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
Лично я не согласен, что понятие полиморфизма применяется для методов с разной сигнатурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 10:43:22
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
еще оттуда же авторТермин overloading можно перевести как перегрузку, доопределение, совместное использование. Мы будем использовать перевод совместное использование . Под совместным использованием понимают использование одноименных методов с различным набором параметров. При вызове метода в зависимости от набора параметров выбирается требуемый метод. При этом одноименные методы могут быть как в составе одного класса, так и в разных классах, связанных отношением наследования. Это статический полиморфизм методов классов. т.е. выходит что overloading - это реализация полиморфизма, т.н. статический полиморфизм overriding - это реализация полиморфизма, т.н. динамический полиморфизм или мы все не понима(-ем/-ли) что такое полиморфизм или я неправильно понимаю прочитанное ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 10:48:53
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
LeonidvЛично я не согласен, что понятие полиморфизма применяется для методов с разной сигнатурой. вот я тоже, не согласен!!! разная сигнатура - разные методы, зачет)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 11:04:21
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
полиморфизм - возможность в связанных иерархией классах использовать одно имя функции (метода) для обозначения сходных по смыслу действий и выбирать конкретное действие лишь во время выполнения про-граммы. Например, объект класса Водитель взаимодействует с объектом класса Автомобиль через его интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря на возможные различия в реализации методов интерфейса. Чаще всего понятие полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор вызываемой функции производится на этапе выполнения программы Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 11:12:02
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
Michael Ponomarev полиморфизм - возможность в связанных иерархией классах использовать одно имя функции (метода) усе прально, тока имя функции я бы заменил на СИГНАТУРУ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 11:20:17
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 11:25:29
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
Michael Ponomarev рассказал нам только про overriding а что про overloading? как Вы думаете, Michael, overriding - это реализация полиморфизма? overloading - это реализация полиморфизма? и применим ли полиморфизм ТОЛЬКО к иерархии классов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 11:40:06
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
Michael Ponomarev danii правильно ли я понимаю Overriding - это переопределение метода в наследуемом классе, методы имеют одинаковое имя, одинаковое колич-во и тип параметров, возвращают одинаковый тип и бросают одинаковые исключения( в наследуемом классе может бросаться исключение- наследник) Overloading - это перегузка методов методы имеют одинаковое имя, разное колич-во и/или тип параметров, возвращают одинаковый тип, НЕ обязательно бросают одинаковые исключения Overloading применим не обязательно к классам. Например не в эхотажной Delphi могут быть просто несколько Overloading процедур/функций. wessen прав, почитай про полиморфизм. И не применительно к какому-либо языку, а в целом. Posted via ActualForum NNTP Server 1.3 Докатился, сам себя цитирую. Я рассказал про Overloading daniiприменим ли полиморфизм ТОЛЬКО к иерархии классов Вопрос про интерфейсы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 11:42:26
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
Что-то старшие многоопытные товарищи молчат Тут делфистов бывших/действующих прилично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 11:58:24
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
Michael, склоняюсь к мысли, и Вам и Wessen очень даже не помешает также почитать про полиморфизм. Посмотрите ссылку, которую дал я выше, там все доступно описано. А уж идентифицировать динамическое связывание как overloading - это вообще близко к ереси (если я правильно понимаю то, что прочитал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:04:54
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
все верно, wiki пишет Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:05:29
|
|||
|---|---|---|---|
|
|||
Теория. Полиморфизм. |
|||
|
#18+
Зашибись. Смотрю в монитор вижу тоже самое... автор А уж идентифицировать динамическое связывание как overloading - это вообще близко к ереси (если я правильно понимаю то, что прочитал) Где написано мной или еще кем-то что overloading - это динамическое связывание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:12:18
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
авторполиморфизм - возможность в связанных иерархией классах использовать одно имя функции (метода) для обозначения сходных по смыслу действий и выбирать конкретное действие лишь во время выполнения про-граммы . Например, объект класса Водитель взаимодействует с объектом класса Автомобиль через его интер-фейс (набор публичных методов). Если класс-потомок, например,Легковой или Грузовик, под-держивает тот же интерфейс, то объект Водитель сможет аналогично (вызывая одноименные методы) взаимодействовать и с ними, несмотря на возможные различия в реализации методов интерфейса. Чаще всего понятие полиморфизма связыва-ют с механизмом виртуальных методов, при котором выбор вызываемой функции производится на этапе выполнения программы и выбирать конкретное действие лишь во время выполнения про-граммы . это и есть late binding - он же dinamic binding ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:15:58
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
Автор туториала, считает полиморфизмом динамическое и статическое звязывание. Поэтому вот это его утверждение автор Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ). вроде как и верно. Из-за это как мне кажется и возникла путаница. Потомучто в рамках Java, полиморфизм это только динамическое связывание. Поэтому нужно так: автор Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и реализация ( implementation ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:22:08
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
wessen, а почему, ты считаешь Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:23:51
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
wessenАвтор туториала, считает полиморфизмом динамическое и статическое звязывание. Поэтому вот это его утверждение автор Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ). вроде как и верно. Из-за это как мне кажется и возникла путаница. Потомучто в рамках Java, полиморфизм это только динамическое связывание. Поэтому нужно так: автор Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и реализация ( implementation ). упс, надо так: Понятие полиморфизма, в свою очередь, опирается на два других понятия: переопределение ( overriding ) и реализация ( implementation ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:23:57
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
wessenАвтор туториала, считает полиморфизмом динамическое и статическое звязывание. Поэтому вот это его утверждение автор Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и переопределение ( overriding ). вроде как и верно. Из-за это как мне кажется и возникла путаница. Потомучто в рамках Java, полиморфизм это только динамическое связывание. Поэтому нужно так: автор Понятие полиморфизма, в свою очередь, опирается на два других понятия: совместное использование ( overloading ) и реализация ( implementation ). Это что то новое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:29:00
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
wessen, так утверждает не автор туториала а http://www.javable.com/tutorials/fesunov/lesson8/ прочитай пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.12.2006, 12:29:41
|
|||
|---|---|---|---|
Теория. Полиморфизм. |
|||
|
#18+
daniiwessen, а почему, ты считаешь Код: plaintext В книге Брюсса Эккеля "Философия Java" так написано. И причем написано однозначно, только динамическре и все тут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2147328]: |
0ms |
get settings: |
17ms |
get forum list: |
24ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 315ms |
| total: | 509ms |

| 0 / 0 |
