IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> ООП, Полиморфизм
Client
сообщение 15.02.2009 16:00
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Всем привет!
Начал изучать ООП и появились вопросы. Вроде с наследованием и инкапсуляцией понятно, а вот с полиморфизмом не понятно. Можете объяснить для чего он нужен и что такое виртуальные методы?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 16.02.2009 19:04
Сообщение #2


Гость






Цитата
тут мы просто используем метод предка, т.е. если у предка 100 полей, а у потомка 2 доп. поля то можно вызвать метод предка по обработке полей и добавить действия над другими двумя полями)
Если ты про конструктор - то я тебе еще больше скажу: методы потомка ДОЛЖНЫ вызывать методы предка для инициализации/присвоения его (предка) полей, потому что никто не сможет инициализировать поле лучше, чем объект, в котором это поле добавляется.

Цитата
Что-то его нету
Чего нет? Вылета? Это не проблема ООП, это проблема Турбо-Паскаля... Любой нормальный компилятор при попытке разыменовать нулевой указатель вылетит с 216-ой ошибкой... Турбо-Паскаль же ошибку замалчивает (спрашивается, ЗАЧЕМ? Программа-то не работает правильнее от того, что не происходит вылет), но при этом печатает тебе на экране откровенный бред.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Client   ООП   15.02.2009 16:00
volvo   Ну, ты же здесь был: ООП. Объектно-ориентированное...   15.02.2009 16:19
Client   В наследовании есть родитель и потомок, где потомо...   15.02.2009 16:27
volvo   Не путай теплое с мягким... Наследование - это нео...   15.02.2009 17:01
Client   O_o незнал.procedure proc(var obj: ta); begin ob...   15.02.2009 17:16
volvo   Это вызов метода из непосредственного родителя... ...   15.02.2009 17:37
Client   uses crt; type ta = object constructor init;...   15.02.2009 18:34
volvo   Да, работает... Только некорректно это. При инициа...   15.02.2009 18:40
Client   Инициализация?? т.е. присваивание полям значений и...   15.02.2009 18:43
volvo   И то и другое... Вот, например, при инициализации ...   15.02.2009 19:37
Client   УРЯЯЯЯ!!! я понял) тут мы просто испол...   16.02.2009 16:22
volvo   Если ты про конструктор - то я тебе еще больше ска...   16.02.2009 19:04
Client   Вроде понял) Спасибо за ответы!   16.02.2009 20:29
fedyafed   Листинг программы от Дата 15.02.2009 17:01 содержи...   6.02.2011 10:25
volvo   Никак не нужно настраивать, он по умолчанию прекра...   6.02.2011 10:49
Гость   А overload и override компилятор не понимает(. Это...   6.02.2011 11:23


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 10:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"