![]() |
Практическая работа 49. Работа с классомDate: 2015-10-07; view: 393. Классы Шестая версия Visual Basic является событийно-управляемым объектно-базирующимся языком, не доходящим до уровня объектно-ориентированного. Объектно-ориентированным делает язык сильно развитые составляющие - наследование и полиморфизм. Класс содержит компоненты - свойства, поля, методы и события; класс есть шаблон объекта и можно создавать объекты - экземпляры класса. С использованием модуля класса объекту передаeтся структура класса. С помощью свойств, полей, методов и событий объект реагирует на действия системы, пользователя, приложения. Модуль класса можно ввести в проект командой: менюПроект С помощью процедур Property можно cоздавать свойства класса; их можно присваивать (Let) и считывать (Get). Если использовать для создания процедур Property окно Инструменты Методы - это процедуры, содержащиеся в классе и действующие на объект. Метод может быть создан и с помощью Мастера классов. События служат для обеспечения реакции объекта на внешние воздействия. Cобытие может быть создано аналогично созданию процедур Sub, Function, Property. После создания компонентов класса его можно использовать. В проектах используются объекты, созданные на основе класса; способы создания: Dim оbject As New Class1 ' создание объекта класса Class1 или: Dim оbject As Class1 Set оbject = New Class1 Проект с классом должен включать две процедуры Class_Initialize () для подготовительных действий и Class_Terminate () для завершающих действий. Для удаления ссылки на объект после выполнения процедур (удаление объекта из памяти) используется ключевое слово Nothing: Set object = Nothing Объекты могут объединяться в логические единицы. На набор таких элементов - объект Сollection можно ссылаться как на единое целое. Свойство Count определяет число элементов, метод Add служит для добавления объектов, метод Remove - для удаления. Семейства можно создавать также с помощью Мастера классов. Классы можно создавать с помощью Мастера классов следующим образом: 1. создать новый проект Standard.EXE, 2. в меню Добавления выбрать Add-In Manager, 3. в выведенном диалоговом окне маркировать строку VB 6 Class Builder Utility, сделать щелчок на флажке Loaded, затем - щелчок на кнопке ОК, 4. в меню Добавления появляется новая команда - Class Builder Utility, мастер классов стартует после щелчка на этой команде. Другой способ старта мастера: меню Проект 5. выводится диалоговое окно Class Builder, с его помощью создаeтся класс: o меню File o cоздать свойства класса: File o cоздать методы класса: File Аналогично создаются события (в этом случае используется Event Builder), o обновить проект: меню File o после того, как Мастер классов сгенерирует код, он будет сразу же продемонстрирован в окне кода. Код содержит комментарии. Создание компонентов класса, создание экземпляра класса рассматривается на примере проекта, дающего справку (минимальные данные, служащие для демонстрации) желающим провести отпуск за границей. Пользователь должен сделать щелчок на соответствующем элементе массива OptionButton, если он хочет быть в отпуске за границей; далее в списке ComboBox выбрать страну, после чего выводится список городов, где можно провести отпуск и соответствующая стоимость, рис. 8.1. В данном случае создаeтся класс с 4 свойствами и 3 методами. Далее на основе класса создаeтся объект: Dim object As Class1Set object = New Class1Созданный объект нужно после работы удалить из памяти: см. код процедуры Form_Unload(). Последовательность действий: 1. в стандартный проект добавить модуль класса: контекстное меню Окна проекта 2. ввести код в область модуля класса, см. ниже; пояснения даны под комментариями. Инициализация свойств класса проводится в процедуре Class_Initialize (), 3. создать методы класса. Три метода создаются в процедурах: Public Function Met1(), Public Function Met2() и Public Function Met3 (). Ввести этот код, пояснения даны под комментариями к коду, 4. создать требуемые объекты на форме (см. код и ), ввести код в область (General) (Declarations) формы, код процедурыForm_Load () и код процедуры Command1_Click (), стартовать проект, проверить его работу.
|