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

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

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

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

В библиотеки визуальных компонентов C++Builder включено множество ти-
пов компонентов и их номенклатура очень быстро расширяется от версии к вер-
сии. Имеющегося уже сейчас вполне достаточно, чтобы построить практически
любое самое замысловатое приложение, не прибегая к созданию новых компонен-
тов. При этом даже неопытный программист, делающий свои первые шаги на этом
поприще, может создавать приложения, которые выглядят совершенно професси-
онально.

1.4 Предварительные сведения о классах
и наследовании

Типы объектов и, в частности, компонентов библиотек C++Builder оформля-
ются в виде классов. Классы — это типы, определяемые пользователем. В классах
описываются свойства объекта, его'методы и события, на которые он может реаги-
ровать. Язык программирования C++ предусматривает только инструментарий со-
здания классов. А сами классы создаются разработчиками программного обеспече-
ния. Впрочем, создатели C++Builder уже разработали для вас множество очень по-
лезных классов и включили их в библиотеки системы. Этими классами вы пользу-
етесь при работе в Интегрированной Среде Проектирования. Конечно, это нисколь-
ко не мешает создавать вам свои новые классы.

Если бы при создании нового класса вам пришлось все начинать с нуля, то эф-
фективность этого занятия была бы под большим сомнением. Да и разработчики
C++Builder вряд ли создали бы в этом случае такое множество классов. Действите-
льно, представьте себе, что при разработке нового компонента, например, ка-
кой-нибудь новой кнопки, вам пришлась бы создавать все: рисовать ее изображе-

2*