Турбо Паскаль 6.0

       

Прикладной объект.


Краеугольным объектом любой программы является объект TApplication. В действительности, Вы никогда не создаете экземпляра объекта типа TApplication. TApplication - это абстрактный тип объекта. Он ничего не делает. Вы используете TApplication, создавая порожденные типы от TApplication, которые содержат Ваш программный код. В HELLO определяется порожденный тип объекта THelloApp:

PHelloApp = ^THelloApp; THelloApp = object(TApplication) procedure GreetingBox; procedure HandleEvent(var Event: TEvent); virtual; procedure InitMenuBar; virtual; procedure InitStatusLine; virtual; end;

Как показано здесь, полезно определить тип указателя на каждый тип, определяемого Вами объекта, поскольку большая часть работы над объектами производится через указатели. Полиморфизм главным образом работает через указатели. THelloApp содержит гораздо больше, чем эти 4 метода; порожденный объект наследует все от его предка. В определении THelloApp Вы определяете, чем новый объект отличается от его предка TApplication. Все, что Вы не переопределяете, наследуется в неизменном виде от TApplication. 4 метода, определенные в THelloApp, завершают "большую картину" Вашего приложения: - Как прикладным функциям указывается, что событие произошло и как они отвечают на них. Вы должны определить метод HadleEvent для выполнения этого требования. Метод HandleEvent, определенный в TApplication, работает с общими событиями, которые возникают внутри любой программы, но Вы должны обеспечить обработку событий, специфичных для Вашей программы. - Метод InitMenuBar устанавливает меню для полосы меню Вашей программы. TApplication содержит полосу меню, но не сами меню; если Вам необходимы меню, Вы просто определяете метод для определения меню. Вас может удивить, почему код InitMenuBar не является частью констрактора THelloApp. Может быть и так, но большие возможности предоставляет выбор из нескольких меню для начального меню. Лучше вывести это за пределы констрактора, оставляя внутри констрактора только те вещи, которые необходимо выполнять всегда при каждом выполнении программы. - Метод InitStatusLine устанавливает текст строки статуса внизу экрана. Этот текст обычно отображает сообщение о текущем состоянии программы, показывая доступные горячие клавиши или напоминая пользователю о некоторых действиях. - Метод GreetingBox вызывает диалоговое окно в ответ на элемент меню Greeting. GreetingBox вызывается из метода HandleEvent в ответ на событие, переключаемое выбором элемента меню Greeting. В более сложных программах Вы можете использовать различные методы в ответ на каждый элемент меню, определенный в начальном меню. Короче, методы из THelloApp обеспечивают все, что должны выполнять объекты главной программы: установку программы, выполнение действий в ответ на события и методы реализующие отклики на отдельные события. Именно эти 3 вещи Вы должны добавить к TApplication при создании порожденного типа объекта.



Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий