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


Создание класса "Личность" - часть 3


Эта задача решается двумя вызовами функций работы со строками Right и UСase. Первая возвращает "хвост" слова, вторая - преобразует результат в верхний регистр.
  • Подробнее скажем о закрытых свойствах и специальных методах Get и Let. Вообще говоря, свойства можно не закрывать, а специальные методы не вводить. Но VBA позволяет следовать традициям объектно-ориентированного программирования, согласно которым считается правильным не давать возможности непосредственного изменения свойств, поскольку иногда это может привести к некорректному состоянию объекта. Поэтому доступ к свойствам закрывается, для чего достаточно объявить их с атрибутом Private, но зато вводятся специальные методы Get (для получения значения свойства) и Let (для изменения значения на новое). Заготовки для этой пары свойств строятся автоматически, если Вы при вставке метода указали (пометив флажок Property), что он должен быть свойством.
  • С каждым из объектов созданного Вами класса связываются два события: Initialize и Terminate. Первое возникает при первоначальном обращении к объекту, второе - по окончании работы с ними. В нашем примере в методе Initialize даем объекту инициализацию, восходящую к "Адаму".
  • Завершим изложение примером работы с объектами класса, его методами и свойствами:

    Public Sub Знакомство() Dim UserOne As New Личность Dim UserTwo As New Личность Dim UserThree As New Личность Debug.Print UserOne.ВашеИмя UserOne.InitPerson FN:="Петр", LN:="Петров", DoB:=#1/23/1968# UserTwo.InitPerson FN:="Анна", LN:="Козлова", DoB:=#7/21/1968# UserOne.PrintPerson UserTwo.PrintPerson UserOne.SayWhoIs UserTwo.SayWhoIs UserTwo.ВашаФамилия = UserOne.ВашаФамилия & "а" Debug.Print UserOne.ВашаФамилия Debug.Print UserTwo.ВашаФамилия UserThree.InitPerson FN:="Анна", LN:="Керн", DoB:=#5/17/1803# UserThree.PrintPerson UserThree.SayWhoIs End Sub

    Вот какие результаты отладочной печати будут выданы в окно Immediate (отладки):

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

    А такие окна сообщений появятся на экране, при уточнении данных о личности Анны Керн:

    Отчество Анны Керн

    Рис. 4.1.  Отчество Анны Керн

    Кто Анна?

    Рис. 4.2.  Кто Анна?




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