Page 43 - 6735
P. 43
Public Sub main()
Set obj = New Class1 'створити об'єкт obj
obj.z = 1 'присвоїти властивості 'z' значення
obj.x = 2 'присвоїти властивості 'x' значення
Debug.Print obj.y(5) 'викликати метод 'y' з параметром 5
End Sub
32
Модуль класу Class1
Клас – похідний тип даних, який описує множину об’єктів, у
яких дані різного типу (властивості) об’єднані з алгоритмами
їхнього опрацювання (методами). VBA-класи можуть також містити
події. Наступний модуль описує клас Class1, який містить такі
члени: змінні arg і z, подію notNumber, властивість x, метод-
функцію y і процедуру ініціалізації Class_Initialize.
Властивість x відрізняється від інших змінних класу тим, що
процедура Property Get x автоматично викликається під час
отримання значення властивості x, а процедура Property Let x
автоматично викликається під час присвоєння значення властивості
x. Про використання події notNumber дивіться приклад "Обробка
подій користувача" нижче.
Dim arg As Variant 'поле класу (закрите)
Public z As Integer 'поле класу (загальнодоступне)
Public Event notNumber(x) ' подія (загальнодоступна)
Private Sub Class_Initialize() 'процедура ініціалізації
arg = 0
End Sub
'процедура повернення властивістю 'x' значення дійсного
типу
Public Property Get x() As Variant
x = arg 'присвоїти властивості значення
End Property
43