Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Использование Class Builder




Когда я впервые трудился над созданием класса, меня преследовала мысль: «Должен существовать более простой путь!» К счастью для вас и для меня, он действительно существует. В комплект Visual Basic входит Class Builder — утилита для визуального проектирования классов. Class Builder (рис. 4.10) позволяет разработать структуру класса в графическом режиме и вставить основу кода в проект. Утилита Class Builder оформлена в виде надстройки (add-in). Это означает, что утилита не входит в стандартную конфигурацию IDE, а подключается как внешнее дополнение. Как видно из рис. 4.10, окно Class Builder напоминает окно проекта -слева находится иерархическое дерево, в основании которого находится текущее имя проекта. Строка меню, как и расположенная под ней панель инструментов, выглядит вполне стандартно. Мы рассмотрим работу с Class Builder на практическом примере:

1. Выполните команду Add-Ins > Ad-In Manager.

2. В открывшемся диалоговом окне Add-In Manager (рис. 4.11) дважды щелкните в строке VB Class Builder Utility, чтобы загрузить утилиту в IDE.

3. Закройте диалоговое окно кнопкой ОК.

 

Рис. 4.10. Утилита Class Builder

Рис. 4.11. Окно Add-In Manager

 

ПРИМЕЧАНИЕДополнительная информация о надстройках приведена в уроке 16, «Расширение IDE с помощью надстроек».

 

После того как утилита Class Builder будет добавлена в IDE, ею можно пользоваться для создания классов. В следующем примере Class Builder используется для создания простого класса Person. Несмотря на относительную простоту, этот класс наглядно показывает, как работать с этой полезной утилитой.

1. Создайте новый проект командой File > New Project. В диалоговом окне New Project выберите тип проекта Standard EXE и нажмите кнопку ОК.

2. Запустите Class Builder командой Add-Ins > Class Builder Utility.

3. Создайте новый класс командой File > New > Class из меню Class Builder. На экране появляется диалоговое окно Class Module Builder.

4. Введите имя класса Person в поле Name. В списке Based On оставьте выбранное по умолчанию значение (New Class). Нажмите кнопку ОК, чтобы создать класс.

5. Нажмите кнопку Add New Property to Current Class на панели инструментов. На экране появляется диалоговое окно Property Builder (рис. 4.12).

6. Введите в поле Name строку PersonName. В этом примере данное свойство будет использовано для идентификации объектов класса.

7. Выберите строку String в списке Data Type.

8. Оставьте установленным переключатель Public Property (Let Get Set). Чтобы свойство входило в интерфейс класса, оно должно быть открытым (Public).



9. Нажмите кнопку ОК, чтобы завершить создание свойства.

 

Рис. 4.12. Диалоговое окно Property Builder

 

10. Создайте новое событие в классе Person — для этого нажмите кнопку Add New Event to Current Class на панели инструментов (кнопка с изображением желтой молнии). На экране появляется диалоговое окно Event Builder (рис. 4.13).

 

 

Рис. 4.13. Диалоговое окно Event Builder

 

11. Введите строку Say в поле Name. Наш «человек» (Person) действительно «заговорит»!

12. Для события нужно создать параметр, чтобы «человек» знал, что он должен сказать. Нажмите кнопку Add a New Argument (кнопка со знаком «плюс»).

13. На экране появляется очередное диалоговое окно. В нем вам предлагается ввести имя параметра. Введите строку Sentence в поле Name.

14. Выберите в списке Data Type строку String и закройте диалоговое окно кнопкой ОК.

15. Закройте диалоговое окно Event Builder кнопкой ОК. В классе Person появляется событие Say.

16. Добавьте в класс Person метод WhoAreYou. Он не имеет параметров.

17. Нажмите кнопку ОК, чтобы включить метод в класс. Окно Class Builder должно выглядеть так, как показано на рис. 4.14.

 

Рис. 4.14. Класс Person со свойствами, событиями и методами

 

18. Базовая структура класса Person готова. Включите ее в проект Visual Basic командой File > Update Project или клавишами Ctrl+S.

19. Закройте окно Class Builder командой File > Exit.

После небольшой паузы в проекте появляется новый класс. Остается лишь добавить код в базовую структуру, чтобы сделать его функциональным. Если заглянуть в код свойства PersonName (процедуры Property Let и Property Get), выясняется, что Class Builder сгенерировал шаблон свойства за нас. Остается лишь написать код, который будет выполнять конкретную задачу — идентифицировать нашего «человека».



Вставьте следующий фрагмент в процедуру WhoAreYou():

 

Public Sub WhoAreYou()

RaiseEvent Say ("Moe имя" & mVarPersonName)

End Sub

 

Обратите внимание: вся процедура состоит из одной строки. Чтобы инициировать событие, необходимо вызвать в классе команду RaiseEvent. В нашем случае инициируется событие Say. Для передачи информации можно было также воспользоваться функцией, но я хочу приучить вас к работе с событиями. Они пригодятся вам позднее, при разработке приложений, управляемых событиями. А сейчас мы дополним форму Form1 кодом для тестирования класса Person:

1. Дважды щелкните на строке Form1 в окне проекта, чтобы активизировать форму. Затем дважды щелкните на форме, чтобы открыть окно программы.

2. Вставьте следующий фрагмент в секцию (General)(Declarations) формы:

 

Option Explicit

Private WithEvents p As Person

 

3. Для вывода информации мы воспользуемся окном сообщения. Вставьте в процедуру события р_Sау() следующий фрагмент:

 

Private Sub p_Say(Sentence As String)

MsgBox Sentence

End Sub

 

4. Остается лишь написать код, в котором будет создаваться наш объект:

 

Private Sub Form_Load()

Set p = New Person

 

p.PersonName = "Джон Доу"

p.WhoAreYou

Set p = Nothing

 

End

End Sub

 

Конечно, переменной р. PersonName можно присвоить произвольное имя.

5. Запустите программу клавишей F5.

Конечно, утилита Class Builder обладает и другими возможностями, однако большинство из них не требуют объяснений, а самые важные мы рассмотрели. Не жалейте времени и поэкспериментируйте с вашими собственными классами — как простыми, так и сложными. Практика — верный путь к совершенству. На страницах этой книги мы еще неоднократно встретимся с классами. Ваших познаний в области модулей и классов вполне хватит для самостоятельной работы. Вы должны непременно освоить эти концепции, поскольку программные модули «склеивают» разные части вашего приложения и объединяют формы и элементы для решения полезных задач. Но даже если вы чувствуете себя несколько неуверенно, не волнуйтесь. Классы и объекты подробно рассматриваются в уроке 15, «Объектно-ориентированное программирование (ООП)».

 


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал