Основы офисного программирования и язык VBA


Семейство классов и процедуры - свойства - часть 2


Индекс элемента является дополнительным параметром. Заметьте, процедура Set имеет статус Write-once, - если элемент с заданным номером уже определен в группе, то он не переопределяется. При создании этих процедур, нам, конечно же, пришлось модифицировать стандартные заготовки Let и Get. Для полноты картины приведем процедуру, в которой показано, как работать с группой:

Public Sub WorkWithGroup() Dim UserOne As New Личность Dim UserTwo As New Личность Dim UserThree As New Личность Dim Знакомые As New Группа Dim NewUser As New Личность 'Личности UserOne.InitPerson FN:="Петр", LN:="Петров", DoB:=#1/23/1968# UserTwo.InitPerson FN:="Анна", LN:="Козлова", DoB:=#7/21/1968# UserThree.InitPerson FN:="Анна", LN:="Керн", DoB:=#5/17/1803# 'Группа Set Знакомые.ЧленГруппы(1) = UserOne Set Знакомые.ЧленГруппы(2) = UserTwo Set Знакомые.ЧленГруппы(1) = UserThree Set Знакомые.ЧленГруппы(3) = UserThree Set NewUser = Знакомые.ЧленГруппы(7) Set NewUser = Знакомые.ЧленГруппы(3) Знакомые.Сведения

End Sub

Не останавливаясь на тех диалогах, которые будут появляться по ходу выполнения, приведем результаты печати сведений о наших старых знакомых:

Петр Петров родился 23.01.68 Анна Козлова родилась 21.07.68 Анна Петровна Керн родилась 17.05.1803

Мы уже говорили о том, что классы могут выступать в роли привлекательной упаковки при работе со служебными функциями. Такую же "упаковочную" роль они могут играть и при работе со встроенными объектами. Свойствами такого класса могут быть, например, элементы управления, - списки, кнопки. Класс - упаковка позволит обращаться к методам и свойствам объекта, может быть в более привлекательной для конечного пользователя форме. Кроме того, в классе могут быть определены и дополнительные свойства и методы, расширяющие стандартные возможности.

Без процедур - свойств можно обойтись, заменив их обычными методами класса. Правда, такая замена приведет, обычно, к некоторой потере эффективности.Но методы являются основным способом работы с данными (свойствами), определяя поведение объектов класса.




Начало  Назад  Вперед