Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Вниз

Дайте определение полиморфизма   Найти похожие ветки 

 
Kolan ©   (2006-11-02 19:53) [0]

Только понятное, в стиле Юрия Зотова :)

ЗЫ
 Однокурсникам объснить надо :)


 
oldman ©   (2006-11-02 19:55) [1]

Многоморфизм.


 
oldman ©   (2006-11-02 19:56) [2]


>  Однокурсникам объснить надо


А ты что, староста?
Однокурсники учебник читать не умеют?


 
Юрий Зотов ©   (2006-11-02 20:04) [3]

В общем виде: способность объекта-потомка изменять свое поведение по отношению к объекту-предку.

Более конкретно: способность объекта-потомка изменять реализацию методов, унаследованных от объекта-предка, а также добавлять новые свойства и методы.


 
Alx2 ©   (2006-11-02 20:07) [4]

Многоформие..
Способность "быть" как самим собой, так и любым из своих предков.


 
Reindeer Moss Eater ©   (2006-11-02 20:08) [5]

Скорее это возможность единообразного обращения с разнородными объектами. (Экземплярами разных классов)


 
Reindeer Moss Eater ©   (2006-11-02 20:13) [6]

Простейший пример полиморфизма

procedure TForm1.SomethingNotifyEvent(Sender: TObject);
begin
ShowMessage(IntToStr(TComponent(Sender).Tag));
end;


 
vuk ©   (2006-11-02 20:43) [7]

to Юрий Зотов ©   (02.11.06 20:04) [3]:
>В общем виде: способность объекта-потомка изменять свое поведение по
>отношению к объекту-предку.
Полиморфизм, он и без наследования бывает (как пример - интерфейсы) да и вообще, без ООП может быть.


 
Eraser ©   (2006-11-02 20:49) [8]

imho на примере интерфесов проще всего объяснить, т.е. один и тот же объект допускает несколько стандартных или не очень способов доступа к себе.


 
Lamer@fools.ua ©   (2006-11-02 20:59) [9]

Полиморфизм — возможность программного кода работать с объектами разных классов одинаковым образом.

Что, в общем-то, тоже что и [5].


 
Lamer@fools.ua ©   (2006-11-02 20:59) [10]

тоже=>то же


 
Anatoly Podgoretsky ©   (2006-11-02 21:03) [11]

> Alx2  (02.11.2006 20:07:04)  [4]

Форм <> Морф


 
Kolan ©   (2006-11-02 21:12) [12]

> Простейший пример полиморфизма

Я пример могу и сам :) Вот определение.
В википедии http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%BC%D0%BE%D1%80%D1%84%D0%B8%D0%B7%D0%BC_%D0%B2_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F

Не очень понятно...


> [3] Юрий Зотов ©   (02.11.06 20:04)

В принципе вроде ...,
как-то мне кажется я раньше знал определение... более понятное :)


> А ты что, староста?

Нет. Но чтобы людям объяснить зачем в ЮМЛ диаграмма классов нужно знать некий минимум ООП, а про нашинских преподах я уже жаловался. :) Вот приходится мне...


 
Kolan ©   (2006-11-02 21:15) [13]

Вот у меня есть книжка... Там так:
Полиморфизм - возможность использовать одинаковые имена для методов входящих в разные классы. Концепция полиморфизма состоит в том, что при применении метода к объекту используется именно тот метод, который соответствует классу объекта.

Первое предложение не очень, а вто второе по моему очень пнятно, как вам?


 
jack128(not home)   (2006-11-02 21:23) [14]


> Первое предложение не очень,

не то что "не очень", а в корне не верно.


 
Kolan ©   (2006-11-02 21:26) [15]

> не то что "не очень", а в корне не верно.

Книжка по паскалю :) В конце чуток Delphi - единственное печатное издание по Delphi у меня на полке :)


 
Alien1769 ©   (2006-11-02 21:30) [16]

Полиморфи&#769;зм (в языках программирования) — возможность программного кода работать с объектами разных классов одинаковым образом. Кратко смысл полиморфизма можно выразить фразой: «Один интерфейс, множество методов». Полиморфизм — один из трёх важнейших механизмов объектно-ориентированного программирования (наряду с инкапсуляцией и наследованием).

Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода. Общие свойства объектов объединяются в систему, которую могут называть по-разному — интерфейс, класс. Общность имеет внешнее и внутреннее выражение. Внешне общность проявляется как одинаковый набор методов с одинаковыми именами и сигнатурами (типами аргументов и результатов). Внутренняя общность есть одинаковая функциональность методов. Её можно описать интуитивно или выразить в виде строгих законов, правил, которым должны подчиняться методы. Возможность приписывать разную функциональность одному методу (функции, операции) называется перегрузкой метода (функций, операций).

Источиник: Википедия
http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%BC%D0%BE%D1%80%D1%84%D0%B8%D0%B7%D0%BC_%D0%B2_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%D1%85_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F


 
Суслик ©   (2006-11-02 21:32) [17]

почитай эккеля - thinking in java (филосовия java).
уж что что, а это он объясняет просто классно.


 
Alx2 ©   (2006-11-02 22:42) [18]

>Anatoly Podgoretsky ©   (02.11.06 21:03)

morphos (греч) - форма.

(я не про Delphi )


 
Petr V. Abramov ©   (2006-11-02 22:56) [19]

> [3]
ну это в стиле хаяма (*который явно не Омар, без формул :)


 
Percent   (2006-11-02 22:59) [20]

Полиморфизм - возможность использовать одинаковые имена для методов входящих в разные классы. Концепция полиморфизма состоит в том, что при применении метода к объекту используется именно тот метод, который соответствует классу объекта

Закрадывается подозрение, что фамилия автора книги начинается на букву Ф.
Только ему такую забористую траву доставляют.
Везет же некоторым...


 
Anatoly Podgoretsky ©   (2006-11-02 23:41) [21]

> Alx2  (02.11.2006 22:42:18)  [18]

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


 
Anatoly Podgoretsky ©   (2006-11-02 23:41) [22]

> Alx2  (02.11.2006 22:42:18)  [18]

> Alx2  (02.11.2006 22:42:18)  [18]

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


 
Anatoly Podgoretsky ©   (2006-11-02 23:41) [23]

> Alx2  (02.11.2006 22:42:18)  [18]

> Alx2  (02.11.2006 22:42:18)  [18]

> Alx2  (02.11.2006 22:42:18)  [18]

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


 
Alx2 ©   (2006-11-02 23:43) [24]

>Anatoly Podgoretsky ©   (02.11.06 23:41)

:) А оно и не важно здесь.

P.S.
Я бы и с первого раза понял :)


 
Percent   (2006-11-03 00:06) [25]

morphos (греч) - форма.

Венера Милосская такая... полиморфная... обалдеть...


 
Германн ©   (2006-11-03 01:30) [26]


> Alx2 ©   (02.11.06 23:43) [24]
>
> >Anatoly Podgoretsky ©   (02.11.06 23:41)
>
> P.S.
> Я бы и с первого раза понял :)
>

А ты тут собсс-но вообще ни при чём. :-). АП доделывает своего клиента тренируясь "на кошках" :-)
Блин, опечатка. В основном вышеуказанный тренируется на "шпротах". :-)
Ну и заодно оный может пытается догнать Кетмара в Топ10! :-) Перегнать-то уж точно "нереально".


 
Ketmar ©   (2006-11-03 01:44) [27]

>[26] Германн(c) 3-Nov-2006, 01:30
>Ну и заодно оный может пытается догнать Кетмара в Топ10! :-)
я тоже могу сделать дупликатор. даже лучше могу -- бредогенератор.
хотя... зачем делать? одного достаточно. его мне при рождении вмонтировали...


 
kaif ©   (2006-11-03 02:49) [28]

ИМХО, всегда лучше объяснять на примерах.
Метод MultimediaObject.LoadFromFile может быть реализован в потомках по-разному, но называться одинаково. В одном случае файл может быть MP3-файлом, в другом случае картинкой или DVD-файлом, в третьем - базой данных исполнителей. Способы загрузки и воспроизведения файлов буду разными и их можно добавлять, создавая новые классы. Если появится новый тип файлов, достаточно будет создать один новый класс для таких файлов, а не переделывать весь плеер.
Может пример не лучший, но зато сразу понятный студентам.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.049 c
15-1162499997
TUser
2006-11-02 23:39
2006.11.19
IE 7


15-1162480990
vitv
2006-11-02 18:23
2006.11.19
Проникновение в сеть из ВНЕ :)


4-1152444388
AversSM
2006-07-09 15:26
2006.11.19
Как из моей программы нажать кнопку "обновить" в IExplorer


1-1160412630
Gbp
2006-10-09 20:50
2006.11.19
Замена CodeWarp для Delphi 2006


15-1161803262
vidiv
2006-10-25 23:07
2006.11.19
Про то же переименовывание...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский