и поля, определяют атрибуты объекта.
Свойства
Свойства так же, как и поля, определяют атрибуты объекта. Но в отличие от полей свойства реализуют механизм доступа для чтения или изменения данных в полях объекта.
Вернувшись к примеру со столом, можно сделать следующее сравнение: поле "количество ножек" объекта "стол" будет хранить целое число, обозначающее количество ножек, а свойство "ножки" объекта "стол "может изменять это значение. С помощью данного свойства можно задать "количество ножек" равным трем, четырем и т. д.
Свойства позволяют изменять атрибуты объекта, в том числе, и вычисляемыми значениями. Объявление свойства объекта должно содержать его имя и тип, а также, как минимум, одно объявление способа доступа к данному свойству (описания). Синтаксис объявления свойства объекта имеет вид:
property Имя свойства: тип описания;
- имя свойства должно быть уникальным;
- тип — определяет, значения какого типа могут быть записаны в данном свойстве;
- описания — объявления способов доступа к данному свойству.
Синтаксис обязательных описаний read и write имеет следующий вид:
read поле илиметод
write поле или метод
где поле или метод — поле, из которого берется или в которое помещается значение свойства, или метод, который берет или помещает значение свойства компонента.
Несложно догадаться, что объявление read (читать) описывает поле или метод, предназначенные для чтения значения свойства, а объявление write (писать) описывает поле или метод, предназначенные для записи значения свойства компонента.
В листинге 5.1 приведен пример описания свойств объекта.