Существует два способа создания свойств класса: глобальные переменные либо процедуры свойств.
СОВЕТ
Программный код данной статьи включает многочисленные примеры объектов. На следующих нескольких страницах в иллюстративных целях используется простейший пример — объект cUser. Объект cUser содержит информацию о текущем зарегистрированном пользователе, включая его имя. Данный объект можно использовать в случаях, когда в приложении необходимо узнать имя пользователя, например, при обработке ошибок либо при записи имени автора примечаний или документов. В приведенном примере объект cUser используется для отображения приветствия пользователю при регистрации.
Использование общедоступных переменных
Свойство можно создать с помощью объявления общедоступной переменной в разделе объявлений модуля класса. В приведенном ниже примере создается свойство UserType объекта cUser:
Public Name as String
Public UserType as String
После этого несложного объявления пользователи могут устанавливать и получать значения свойства. Для установки значения свойства применяется следующий программный код:
|
|
cUser.Name = "Steve"
cUser.UserType = "Management"
Для выборки значения свойства используется следующий программный код (рис. 4);
MagBox cUser.Name
Использование процедур свойств
Кроме того, свойства можно добавлять к объектам с помощью специальной процедуры VBA, называемой процедурой свойства. Существует три типа процедур свойств: Property Let для получения значения свойства. Property Get — для установки значения свойства и Property Set — для передачи объекта в качестве свойства.
Процедуры свойств позволяют ограничить доступ к значениям свойств. Ключом к пониманию действия процедур свойств является тот факт, что значение свойства хранится в приватной переменной на уровне модуля. Таким образом, первым шагом будет создание приватной переменной на уровне модуля, а затем — создание выражений Property Let и Property Get.
СОВЕТ
Процедуры свойств могут быть общедоступными или приватными, как и любые другие процедуры. Общедоступные процедуры свойств доступны всем другим процедурам во всех модулях; приватные процедуры свойств доступны только процедурам того модуля, в котором они были объявлены,