End Property

Рассмотрим данную процедуру подробнее. Во-первых, поскольку существует процедура Property Let, можно устанавливать свойство Name, так как данное свойство отображается вне модуля. Разработчик мог бы присвоить этому свойству следующее значение:

cUser.Name = "James"

Значение James, передаваемое в процедуру свойства, сохраняется в переменной UserName. Процедура Property Let принимает значение переменной UserName (James) и записывает его в приватной перемен­ной модуля mstrName. Рассматриваемая процедура передает один параметр, хотя на самом деле процеду­ры свойств могут передавать много параметров. Значение свойства может быть получено только в том случае, когда существует процедура Property Get.

Процедура Property Get

Процедура Property Get позволяет получить значение свойства. Если не нужно, чтобы другие пользо­ватели могли получить значение свойства, не следует включать оператор Property Get. Оператор Property Get получает значение, хранящееся в приватной переменной, и возвращает его в качестве значения свойства. Приведенный ниже пример представляет собой оператор Property Get для свойства Name объекта cUser:

Public Property Get Name () as String

' Получение значения, записанного в приватной переменной (mstrName),

' и запись его в значение свойства.

Name = mstrName

End Property

Пользователь легко может получить значение свойства (если существует выражение Property Get), воспользовавшись следующим кодом:

MsgBox cUser.Name

СОВЕТ

Тип данных процедуры Property Let должен быть таким же, как и для процедуры Property Get. Например, Property Let для свойства Name принимает строковый аргумент. Таким образом, процедура Property Get также должна воз- вращать строковый тип данных.

Процедура Property Set

Процедура Property Set позволяет создать процедуру свойства, в ходе которой устанавливается ссылка на объект. При присваивании объекта в процедуре Property Set используется ключевое слово Set.

В данном примере используется объект cForm. Объект cForm содержит свойство Form, которое должно быть передано как объект Form. Код в модуле класса cForm приведен ниже:

Option Compare Database

' Объявление приватной переменной на уровне модуля.

Private mobjForm As Form

Public Property Get Form() As Variant

' Получение объекта, скрытого в приватной переменной (mobjForm),

' и запись его в значение свойства.

Set Form = mobjForm

End Property


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: