Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы_часть1.doc
Скачиваний:
2
Добавлен:
22.04.2019
Размер:
156.67 Кб
Скачать

1.17 Свойства - ссылки на объекты. Свойства - встраиваемые объекты.

Свойства – ссылки на объекты:

В Cache каждый класс можно рассматривать и как тип данных. Если при определении свойства вместо класса типа данных указать хранимый класс, тем самым будет образована ссылка на хранимый объект.

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

Property Doc As Doctor;

Свойства – встраиваемые объекты:

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

Property Adr As Address;

Где Adr это имя свойства, Address – это встроенный объект.

1.18 Свойства классов Cache. Синтаксис определения свойств. Ключевые слова, используемые со свойствами.

Свойства

Свойства представляют состояние объектов.

Существует два типа свойств:

• Свойства, содержащие значения

• Свойства-связи, задающие связи между объектами.

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

Для свойств в Cache справедливы следующие утверждения:

• Свойства могут быть константами, ссылками на хранимые объекты, встроенными

объектами, потоками данных (CLOB’ы), либо коллекциями констант или объектов.

• Со свойствами непосредственно связан набор автоматически выполняемых методов проверки и сохранения значений.

• При осуществлении доступа к значениям свойств, а также при их сохранении,

возможно прозрачное изменение формата и другие изменения данных.

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

Синтаксис:

Property <Имя свойства> as <тип> (параметры) [ключевые слова]

Ключевые слова

Можно изменять определение свойства, используя одно или несколько ключевых слов. Все ключевые слова являются необязательными и имеют значение по умолчанию, если ключевое слово явно не задано. Используются следующие ключевые слова:

Calculated – задает вычисляемое свойство, которое не сохраняется. Подклассы наследуют это ключевое свойство и не могут его перекрывать.

Description – описание свойства, которое Cache использует для построения документации класса. Подклассами не наследуется.

Final – свойство, которое не может перекрываться в подклассах. По умолчанию,

свойства не являются финальными. Наследуется подклассами.

InitialExpression – задает начальное значение для свойства. По умолчанию свойство

не имеет начального значения. Наследуется подклассами и может перекрываться.

Private – задает свойство типа private. По умолчанию, свойства не является private.

Наследуется подклассами и не может перекрываться.

Required – свойство должно получить значение перед сохранением на диске. По

умолчанию свойства не являются required. Наследуется подклассами и может перекрываться.

Transient – определяет временное свойство, которое не сохраняется в базе данных.

По умолчанию свойства не являются transient. Наследуется подклассами и не может перекрываться.

Type – задает имя класса, ассоциированного со свойством, это может быть класс типа данных, хранимый или встроенный класс. По умолчанию это строка (%String). Наследуется подклассами.