Использование классов при разработке приложений

Автор работы: Пользователь скрыл имя, 25 Октября 2010 в 12:07, Не определен

Описание работы

Доклад

Файлы: 1 файл

Использование классов при разработке приложений.doc

— 65.50 Кб (Скачать файл)

      End Sub

      Посредством аргументов более точно определяется характер выполняемого действия или передаются обрабатываемые элементы. 

Мастер  классов 

      Создать метод очень просто с помощью  мастера классов.

      Для добавления метода следует в левой  части окна мастера классов выбрать

      соответствующий класс и при помощи команды  меню File\New\Method или соответствующей  кнопки панели инструментов окна мастера  открыть диалоговое окно Method Builder.

      В поле Name следует указать имя метода, в поле Return Data Type – тип данных возвращаемого значения (если метод должен возвращать данные). Если поле Return Data Type оставить пустым, будет создана процедура Sub. Если указать тип данных, будет создана процедура Function. В список Arguments посредством кнопки со знаком + можно добавить аргумент метода с указанием его имени и типа данных. Если при этом установить флажок ByVal, аргумент будет передаваться как значение (ByVal). В Visual Basic 6.0 аргумент может быть массивом (Array), массивом параметров (ParamArray, который применяется, если количество передаваемых процедуре аргументов заранее неизвестно), параметром по умолчанию (Default), необязательным параметром (Optional), а также передаваться как значение (ByVal). Кроме того, при использовании аргумента поддерживаются перечисления (Enums).

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

      Обычно  методы содержат намного больше кода, чем процедуры свойств, так как  в них выполняется непосредственная обработка данных. Сложные задачи можно разбить на несколько процедур (Sub или Function), которые объявляются как Private, поскольку могут использоваться только внутри класса. Инкапсуляция внутренних данных является большим преимуществом ООП.  

События 

      События – это реакции объекта на действия системы, пользователя или других приложений. Анализ и обработка событий позволяет  объекту реагировать на внешние воздействия. Каждый класс имеет набор собственных событий. По умолчанию все классы содержат два события, которые происходят

      после загрузки и перед выгрузкой объекта. Эти события – Initialize и Terminate. 

События, определяемые пользователем 

      Объекты, определяемые пользователем, могут  генерировать собственные события (возможность, впервые реализованная в Visual Basic 5.0). События создаются в два этапа. Сначала в секции объявлении класса объявляется

      событие (при необходимости с аргументами), а затем в процедуре внутри класса происходит вызов этого события.

      'Общие  объявления (Class или Form)

      Public Event Event_Name()

      Public Sub CallEventO

      RaiseEvent Event_Name

      Оператор Event

      Событие, определяемое пользователем, объявляется  внутри класса с помощью оператора Event. Аргументы, передаваемые процедуре обработки события, должны указываться в строке объявления события.

      Оператор RaiseEvent

      Для генерации события внутри класса предназначен оператор RaiseEvent, которому в качестве аргумента передается имя события.

      Ключевое  слово WithEvents

      Контейнер, в котором используется объект, должен содержать процедуру обработки события. До создания процедуры обработки события нужно объявить объект, используя ключевое слово WithEvents. Общие объявления Dim WithEvents object

      As classi

      Private Sub object имя события()

      End Sub

      После такого объявления указанный объект будет добавлен в список (Object) окна кода, в результате чего из списка (Procedure) можно будет выбирать события объекта. 

Раннее  и позднее связывание 

      Скорость выполнения приложения может зависеть от того, каким образом Visual Basic осуществляет связывание переменных с их объектами. Связывание может быть ранним (Early Binding) или поздним (Late Binding).

      Раннее  связывание

      Раннее  связывание осуществляется, если при объявлении переменной

      указывается конкретный тип данных:

      Dim objVarl As TextBox

      Dim objVar2 As Classi

      Dim objVar3 As Word.Application

      В приведенном примере при объявлении переменных их типы данных

      указываются точно. Раннее связывание выполняется  быстрее, чем позднее,

      поэтому рекомендуется использовать его  всегда.

      Позднее связывание

      Позднее связывание выполняется, если при объявлении переменной

      определенный  тип объекта не указывается.

      Dim objVarl As Object Dim

      ob]Var2 As Variant Dim

      objVar3 As Control

      В данном примере типы переменных определяются только при

      присваивании  им конкретного объекта, а при  объявлении переменной

      указывается только универсальный тип. При таком  объявлении при каждом

      обращении к объекту анализируются все  допустимые объекты, а это требует

      значительных  затрат времени.

      Позднее связывание следует использовать в  тех случаях, если при

      разработке  невозможно заранее определить, какие  типы объектов будут

      использоваться.

      События Initialize и Terminate

      Кроме событий, определяемых пользователем, классы всегда содержат события Initialize и.Тег1minate, которые являются аналогами событий формы Load и Unload.

      Событие Initialize

      Событие Initialize класса наступает при первом использовании объекта. В процедуре  обработки этого события следует  выполнять код, необходимый для инициализации объекта. Это может быть, например, объявление собственных объектов или подключение к серверу базы данных.

      Событие Terminate

      Как только уничтожаются все ссылки на объект, Windows удаляет этот

      объект  из памяти. В этот момент наступает событие Terminate.

      Private Sub Commandl_Click()

      Set object = Nothing 'наступает Terminate

      End Sub

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

      Private Sub Class_Initialize()

      MsgBox "Инициализация" End Sub

      Private Sub Class_Terminate()

      MsgBox "Удаление"

      End Sub

Информация о работе Использование классов при разработке приложений