Visual Basic 6. Руководство разработчика


Использование модуля класса


Реализуем этот же проект, но с использованием модуля класса. Модуль класса полностью скрывает детали реализации. Он предоставляет через свой интерфейс некоторые функциональные возможности, и разработчику больше не нужно просматривать или редактировать его исходный программный код.

Предупреждение

При попытке открыть проекты примеров с компакт-диска (или из папки диска, куда они были скопированы), появится сообщение об ошибке, означающее, что проект ссылается на компонент, который недоступен. Каждый проект из этой главы создает новый класс, который неизвестен системе. Проигнорируйте это сообщение, откройте проект и добавьте к нему ссылку на класс.

Сохраните существующий проект и начните новый (это будет проект CTIMER из папки для этой главы на компакт-диске). Чтобы создать новый класс сделайте следующее:

1. В диалоговом окне New Project выберите ActiveX DLL. Visual Basic добавит папку Class Modules в окно Project Explorer, а в нее - модуль класса. Модуль класса называется по умолчанию Class 1. Проект ActiveX DLL не имеет форм.

2.  Измените свойство Name модуля класса на CTimer.

3.  Для нового компонента будет отображено окно Code, так как модуль класса не        имеет визуального интерфейса.

4. Введите строки программного кода 15.3 в окно Code модуля классов.

Программа 15.3. Код класса CTimer

Dim totallnterval As Double

Dim Tl As Double

 

Public Sub StartCounting ()

Tl = Time

End Sub

 

Public Sub StopCounting()

totallnterval = totallnterval + Time - Tl

End Sub

 

Property Get ElapsedTime () As Double

ElapsedTime = totallnterval

End Property

 

Public Sub ResetTimer()

totallnterval - 0

End Sub

Содержимое модуля классов очень напоминает содержимое обычного модуля, но не имеет общедоступных переменных. Переменная totallnterval не должна быть доступной из какой-либо процедуры за пределами модуля класса. Ее значение может быть прочитано только с использованием процедуры ElapsedTime(). Необходимо отметить, что это специальный тип процедуры, называемый Property Get (Получить свойство). Каждый раз, когда приложение пытается прочитать значение переменной totallnterval, вызывается процедура ElapsedTime(). Ее код считывает значение локальной переменной totallnterval




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



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