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


Пример 5.5


Option Explicit

'Класс ВладелецМашины

'Наследует интерфейсы классов Личность и Машина

Implements Машина

Implements Личность

'Свойства класса

Private Сам As Личность

Private ЕгоМашина As Машина

Private Sub Class_Initialize()

Set Сам = New Личность

Set ЕгоМашина = New Машина

End Sub

'Реализация интерфейсов класса Личность

Private Sub Личность_CopyPerson(You As Личность)

Сам.CopyPerson (You)

End Sub

Private Sub Личность_InitPerson(ByVal FN As String, ByVal LN As String, ByVal DoB As Date)

'Инициализация личности

Сам.InitPerson FN, LN, DoB

End Sub

Private Sub Личность_PrintPerson()

'Печать в отладочном окне Immediate

Сам.PrintPerson

End Sub

Private Sub Личность_SayWhoIs()

' Вывод сообщения о поле и возрасте владельца машины

Dim StrMsg As String

StrMsg = "Думаю, Владелец машины марки: " & _

ЕгоМашина.МаркаМашины & " это - "

If Сам.WhoIs Then

If Year(Сам.ВашаДатаРождения) > 1967 Then

StrMsg = StrMsg & "молодая девушка!"

Else: StrMsg = StrMsg & "женщина!"

End If

Else

If Year(Сам.ВашаДатаРождения) > 1967 Then

StrMsg = StrMsg & "молодой человек!"

Else: StrMsg = StrMsg & "мужчина!"

End If

End If

MsgBox (StrMsg)

End Sub

Private Function Личность_WhoIs() As Boolean

Сам.WhoIs

End Function

Private Property Let Личность_ВашаДатаРождения(ByVal NewValue As Date)

Сам.ВашаДатаРождения = NewValue

End Property

Private Property Get Личность_ВашаДатаРождения() As Date

'Зажигает событие ДеньРождения

'в зависимости от значения текущей даты

Личность_ВашаДатаРождения = Сам.ВашаДатаРождения

End Property

Private Property Let Личность_ВашаФамилия(ByVal NewValue As String)

'Зажигает событие ИзменениеФамилии

Сам.ВашаФамилия = NewValue

End Property

Private Property Get Личность_ВашаФамилия() As String

Личность_ВашаФамилия = Сам.ВашаФамилия

End Property

Private Property Let Личность_ВашеИмя(ByVal NewValue As String)

Сам.ВашеИмя = NewValue

End Property




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



Книжный магазин