32_______________________________________________Глава 1

ектом при таком подходе во многих случаях можно считать пользователя програм-
мы (рис. 1.1). Обмен между объектами происходит посредством сообщений.

1.2 Объект, свойства, методы, события

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

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

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

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

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

Рис. 1.2                                                                Данные
Схема обращения к данным через методы объекта                      —————————

Методы чтения
и записи данных

^

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