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


Проект "Люди и Машины"


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

Схема семейства классов "Люди и Машины"

Рис. 5.3.  Схема семейства классов "Люди и Машины"

Мы не станем давать полную реализацию этой схемы. Для наших целей достаточно ограничиться ее частичной реализацией, где будут два родителя, имеющие общего потомка. У нас уже построен класс Личность, - пусть он и будет одним из родительских классов. Другим базовым родительским классом пусть будет класс Машина, задающий машины. Потомком этих двух родительских классов будет класс ВладелецМашины. Он наследует интерфейсы класса Личность и класса Машина. Поэтому объекты этого класса смогут входить и обрабатываться в разных группах, - в группе личностей и в группе машин. В нашем примере родительские классы не будут абстрактными. Напомним, что определенный в предыдущей лекции класс Личность является классом с событиями, так что его объекты могут реагировать на некоторые события, происходящие с ними. Мы не будем повторять здесь его описание. Класс Машина будет достаточно простым. Вот его определение:

Option Explicit 'Класс Машина 'Свойства класса Private Марка As String Private ДатаВыпуска As Date Private Цвет As String

'Конструкторы класса

Private Sub Class_Initialize() Марка = "Форд" ДатаВыпуска = "20.07.1925" Цвет = "Вишневый" End Sub

Public Sub НоваяМашина(M As String, D As Date, C As String) Марка = M ДатаВыпуска = D Цвет = C End Sub

'Методы класса Public Sub PrintDataCar() Debug.Print "Марка = ", Марка Debug.Print "ДатаВыпуска = ", ДатаВыпуска Debug.Print "Цвет = ", Цвет

End Sub

Public Property Get МаркаМашины() As String МаркаМашины = Марка End Property

Public Property Get ЦветМашины() As String ЦветМашины = Цвет End Property




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



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