5.3 Инкапсуляция
____________________________________________________________________
Угловые скобки означают, что данный параметр может отсутствовать. В случае отсутствия параметра write свойство становится свойством "только для чте-
ния". Изменить значение свойства тогда будет невозможно. Отсутствие пара-
метра read приводит к тому, что свойство становится свойством "только для записи". Однако это лишено смысла, поскольку значение этого свойства (для чтения) будет недоступно.
Наиболее логично использовать свойство со следующими параметрами:
property имя свойства: тип read имя поля write имя метода записи;
В этом случае для обращения к значению свойства программа производит чтение непосредственно защищенного поля, а для записи значения свойства будет вызываться метод записи. В методе перед записью можно организовать контроль данных на соответствие каким-либо критериям в зависимости от ре-
шаемой задачи.
Объявления свойств следует располагать в разделе public. При записи свойства вы также можете воспользоваться функцией "Автозавершение кода"
редактора исходного кода. Введите
property имя свойства: тип
и нажмите Ctrl+Shift+C. Lazarus автоматически завершит объявление свой-
ства, а также заготовку тела метода записи. Кроме того, добавит в секцию private поле с именем <Fимя свойства> с соответствующим типом и проце-
дуру записи со стандартным именем <Setимя свойства>. Имена полей принято начинать с буквы F, поэтому Lazarus формирует такое имя. Но это не обяза-
тельно. Если вас не устраивают имена, предложенные Lazarus, вы можете про-
сто их переименовать. Например, начните набирать описание класса:
type