1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| LOVE133 |
10.01.2007 12:43
Сообщение
#1
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: 0 |
Бодрое утро!Завтра намечается экзамен по Объектно-ориентированному программированию.Существует несколько вопросов, неосвещенных ни в нашем чудесном учебном заведении , ни в волшебном FAQ-e... хотелось бы кое -что прояснить, для себя, и для зачетки.
вот список вопросов: 1) чем принципиально отличается конструктор (constructor ) среды паскаль от конструктора в среде делфи.Методы вызова в этих средах( мне на пальцах можно...представление обо всем этом я имею, просто вот конкретно ответить на эти вопросы не могу ) 2) Self-параметры в паскале.Когда необхадим.Принцип действия. 3)Чем отличаются виртуальные методы от динамических? 4)Механизмы позднего и раннего связывания.ВОт тут можно поподробнее... 5)Событийное управление.Методы реализации. Если кто-то обладает данной информацией и способен в доступной форме выразить все это, буду признательна.Может ссылки какие есть пользительные по этому вопросу? а то нам объясняли последний раз что self-параметр это что-то типа шасси в самолете, которое содержит этот самолет...конечно я все понимаю...но |
![]() ![]() |
| volvo |
10.01.2007 13:11
Сообщение
#2
|
|
Гость |
По порядку:
Цитата(LOVE133 @ 10.01.2007 11:43) 1) чем принципиально отличается конструктор (constructor ) среды паскаль от конструктора в среде делфи. Имеется в виду КАКОЙ Паскаль? Не Object? Тогда, наверное, различием можно считать то, что в классическом Паскале конструктор не может быть виртуальным, а в Object Pascal - может...Цитата(LOVE133 @ 10.01.2007 11:43) 2) Self-параметры в паскале. Когда необхадим. Принцип действия. Необходим для разрешения конфликтов (имен, в частности)... Классический пример:TypeПринцип действия... Хм... В каждый метод объекта кроме фактических параметров, передается невидимый параметр Self, указывающий, какому объекту принадлежит метод... Явно обычно Self не обрабатывается, с этим прекрасно справляется компилятор (один из немногочисленных случаев, когда применение Self оправдано я привел выше)... Но совсем забывать про Self тоже нельзя, ибо: Цитата(Глава 9. Объектно-ориентированное программирование) ... параметр Self является частью физического кадра стека при всех вызовах методов. Методы, используемые как внешние на языке Ассемблера, должны учитывать Self при получении доступа к параметрам метода в стеке. Цитата(LOVE133 @ 10.01.2007 11:43) 3)Чем отличаются виртуальные методы от динамических? В принципе - ничем, хотя...Цитата(www.interface.ru) По смыслу динамические и виртуальные методы идентичны. Различие состоит только в механизме их вызова. Методы, объявленные с директивой virtual, вызываются максимально быстро, но платой за это является большой размер системных таблиц, с помощью которых определяются их адреса. Размер этих таблиц начинает сказываться с увеличением числа классов в иерархии. Методы, объявленные с директивой dynamic вызываются несколько дольше, но при этом таблицы с адресами методов имеют более компактный вид, что способствует экономии памяти. Таким образом, программисту предоставляются два способа оптимизации объектов: по скорости работы (virtual) или по объему памяти (dynamic). Пока все, о связывании сейчас найду ссылку, было очень хорошо написано... |
LOVE133 Теоретические вопросы по ООП 10.01.2007 12:43
LOVE133 а-ха....по первому вопросу я не так сформулировала... 10.01.2007 13:27
Ozzя
http://zeus.sai.msu.ru:7000/programming/bp...r/lr... 10.01.2007 14:16
LOVE133 читаю...осваиваю...кто еще что предложит? :cool: 10.01.2007 14:28
мисс_граффити
Ты ничего не путаешь? Делфи - это не язык...
Може... 10.01.2007 14:52
Ozzя
Ты ничего не путаешь? Делфи - это не язык...
На... 10.01.2007 14:54
LOVE133 ну млин )))) наверно я все путаю..но ) я помню, чт... 10.01.2007 15:06
мисс_граффити Не совсем одинаково.
Поищи по разделу Делфи, была ... 10.01.2007 15:18
LOVE133
Begin
With R Do Begin
self.A := A; { <--- ... 10.01.2007 16:09
volvo Если есть Self - то это поле объекта... У записи н... 10.01.2007 17:38
Bokul Вот эта ссылка мне очень сильно помогла в понимани... 11.01.2007 0:27![]() ![]() |
|
Текстовая версия | 9.12.2025 0:26 |