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
   38   39   40   41   42   43   44   45   46   47   48