Принципы объектно-ориентированного визуального программирования_____33

Помимо методов, работающих с отдельными данными, в объекте имеются ме-
тоды, работающие со всей их совокупностью, меняющие их структуру. Таким об-
разом, объект является совокупностью свойств и методов. Но это пока нельзя
считать законченным определением объекта, поскольку прежде, чем дать полное
определение, надо еще рассмотреть взаимодействие объектов друг с другом.

Средой взаимодействия объектов (как бы силовым полем, в котором существу-
ют объекты) являются сообщения, генерируемые в результате различных собы-
тий. События наступают, прежде всего, вследствие действий пользователя — пе-
ремещения курсора мыши, нажатия кнопок мыши или клавиш клавиатуры. Но
события могут наступать и в результате работы самих объектов. В каждом объекте
определено множество событий, на которые он может реагировать. В конкретных
экземплярах объекта могут быть определены обработчики каких-то из этих собы-
тий, которые и определяют реакцию данного экземпляра объекта. В обработчиках
анализируется сгенерированное событие и предпринимаются те или иные дейст-
вия: изменение свойств объектов, выполнение каких-то методов, генерация новых
событий. К написанию этих обработчиков, часто весьма простых, и сводится, как
будет видно далее, основное программирование при разработке графического ин-
терфейса пользователя с помощью C+4-Builder.

Теперь можно окончательно определить объект как совокупность свойств и
методов, а также событий, на которые он может реагировать. Условно это изоб-
ражено на рис. 1.3. Внешнее управление объектом осуществляется через обработ-
чики событий. Эти обработчики обращаются к методам и свойствам объекта. Нача-
льные значения данных объекта могут задаваться также в процессе проектирова-
ния установкой различных свойств. В результате выполнения методов объекта мо-
гут генерироваться новые события, воспринимаемые другими объектами програм-
мы или пользователем.

-   , -                                                     Установки при проектировании
Схема организации объекта                                               1

Свойства     <—|

События
<——:——     Методы     <ч

Обработчики    —•
событий      <—

П1

События

Показанная ранее на рис. 1.1 структура программы в виде некоторой фикси-
рованной совокупности объектов не является полной. Чаще всего сложная про-
грамма — это не просто какая-то предопределенная совокупность объектов. В про-
цессе работы объекты могут создаваться и уничтожаться. Таким образом, структу-
ра программы является динамическим образованием, меняющимся в процессе вы-
полнения. Основная цель создания и уничтожения объектов — экономия ресурсов
компьютера и, прежде всего, памяти. Несмотря на бурное развитие вычислитель-
ной техники, память, наверное, всегда будет лимитировать возможности сложных
приложений. Это связано с тем, что сложность программных проектов растет теми
{ же, если не более быстрыми, темпами, что и техническое обеспечение. Поэтому от
1  объектов, которые не нужны на данной стадии выполнения программы, нужно
освобождаться. При этом освобождаются и выделенные им области памяти, кото-
рые могут использоваться вновь создаваемыми объектами. Простой пример этого

— окно-заставка с логотипом, появляющееся при запуске многих приложений.

2 Зах. 764