Описание комплекса разработки


C++Builder – одна из самых мощных систем, позволяющая на самом современном уровне создавать как отдельные прикладные программы Windows, так и разветвлённые комплексы, предназначенные для работы в корпоративных сетях и в Интернет.

Объектно-ориентированное программирование – это в наше время совершенно естественный подход к построению сложных (и не очень сложных) программ и систем.

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

Объект – это некая совокупность данных и способов работы с ними. Данные можно рассматривать как поля записи. Это характеристики объекта. Пользователь и объекты программы должны иметь возможность читать эти данные объекта, как-то их обрабатывать и записывать в объект говые значения.

Здесь важнейшее значение имеют принципы инкапсуляции и скрытия данных. Принцип скрытия данных заключается в том, что внешним объектам и пользователю прямой доступ к данным, как правило запрещен. Делается это из двух соображений.

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

Во-вторых, необходимо изолировать внешние объекты от особенностей внутренней реализации данных. Для внешних потребителей данных должен быть доступен только пользовательский интерфейс – описание того, каккие имеются данные и функции и как их использовать. А внутренняя релизация – это дело разработчика объекта. При таком подходе разработчик может в любой момент модернизировать объект, изменить структуру хранения и форму представления данных, но, если при этом не затронут внешний интерфейс, то внешний потребитель и не заменит этого. И, значит, во внешней программе и в поведении пользователя ничего не придется менять.

Чтобы выдержать принцип скрытия данных, в объекте обычно определяются процедуры и функции, обеспечивающие все необходимые опреции с данными: их чтение, преобразование, запись. Эти функции и процедуры называются методами и через них происходит общение с данными объекта.

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

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

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

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

С целью организации динамического распределения памяти во все объектызаложены методы их создания – конструкторы и уничтожения – деструкторы. Конструкторы объектов, которые изначально должны присутствовать в приложении, срабатывают при запуске программы. Деструкторы всех объектов, имеющихся в данный момент в приложении, срабатывают при завершении его работы. Но нередко и в процессе выполнения различные новые объекты динамически создаются и уничтожаются с помощью конструкторов и деструкторов.