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


Проект "Люди и Машины" - часть 5


При выборе объекта Class правый раскрывающийся список покажет список стандартных событий класса, а при выборе объектов Личность и Машина будет раскрываться список наследуемых методов.

Проектирование класса ВладелецМашины

увеличить изображение
Рис. 5.4.  Проектирование класса ВладелецМашины

Определение семейства классов дано и нам осталось продемонстрировать работу с различными объектами этих классов. Главное, что хотелось показать, это совместную работу с объектами разных классов. Начнем с программного текста:

Option Explicit 'Модуль Примеры Public FriendOne As New Личность Public FriendTwo As New Личность Public FriendThree As New Личность Public carOne As New Машина Public carTwo As New Машина Public carThree As New Машина Public OwnerOne As New ВладелецМашины Public OwnerTwo As New ВладелецМашины Public OwnerThree As New ВладелецМашины Public FOne As New Личности

Public Sub Люди() 'Вызывается конструктор с параметрами 'и происходит знакомство с объектами FriendOne.InitPerson FN:="Станислав", LN:="Федотов", _ DoB:="21.05.39" FriendTwo.InitPerson FN:="Катя", LN:="Павлова", _ DoB:="22.03.79" FriendThree.InitPerson FN:="Остап", LN:="Бендер", DoB:="23.07.1910" FriendOne.PrintPerson FriendTwo.PrintPerson FriendOne.SayWhoIs FriendTwo.SayWhoIs 'Связывание с двойниками. 'Теперь объекты могут реагировать на события! FOne.Connect End Sub

Public Sub Cars() 'Вызывается конструктор с параметрами carOne.НоваяМашина "Антилопа", "12.12.12", "Неопределенный" carTwo.НоваяМашина "Москвич", "12.11.98", "Морская волна" carThree.НоваяМашина "Jeep", "23.05.97", "Orange" End Sub

Public Sub CarOwners() OwnerOne.ConnectOwnerAndCar FriendOne, carTwo OwnerTwo.ConnectOwnerAndCar FriendThree, carOne OwnerThree.InitCarOwner FN:="Юрий", LN:="Вегера", _ DoB:="21.08.34", Marka:="Газ69", DB:="20.01.76", Color:="Зеленый" OwnerOne.PrintOwnerData OwnerTwo.PrintOwnerData OwnerThree.PrintOwnerData End Sub Public Sub CallEvents() Dim DoB As Date 'Вызов методов приведет к возникновению событий! 'При замене фамилии возникнет событие ИзменениеФамилии 'Заметьте, не всегда фамилия будет изменена! FriendOne.ВашаФамилия = "Фидотов" FriendTwo.ВашаФамилия = "Волконская" 'При попытке узнать дату рождения 'может быть вызван обработчик события ДеньРождения.


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



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