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

start [/forum/topic.php?fid=59&msg=34169950&tid=2147328]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
190ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 518ms |

| 0 / 0 |
