Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


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

Тип Реферат
Предмет Информатика
Просмотров
1481
Размер файла
25 б
Поделиться

Ознакомительный фрагмент работы:

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

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

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

Вы уже работали с объектами, возможно, и не замечая этого. Объекты являются программным представлением физических и/или логических сущностей реального мира. Они необходимы для моделирования поведения физических или логических объектов, которые они представляют. Например, элемент управления TextBox служит для отображения или редактирования текста в форме. Для добавления элемента управления TextBox в форму не нужно писать ни строчки – можно просто воспользоваться готовым объектом TextBox из панели элементов. Для изменения поведения и состояния элементов управления используются их свойства и методы.

Классы

На панели элементов Visual Basic находятся, строго говоря, не объекты, а классы. Различие между классами и объектами состоит в том, что объекты в Visual Basic существуют только во время выполнения. Классы же используются для задания структуры объектов. Во время выполнения создаются копии классов. Благодаря этому для данного класса можно создавать произвольное количество объектов. С другой стороны, классы образуют группы одноименных объектов.

Абстрагирование.

Человек использует абстрагирование для того, чтобы проще описывать сложные объекты окружающей среды. Представьте себе, что в обычном языке не существует объектов (понятий), абстрагирующих окружающий мир. Тогда для того, чтобы сообщить другому человеку о каком–то предмете, например автомобиле, пришлось бы его подробно описывать. Трудно вообразить, сколько времени потребовалось бы для описания объекта. Причем описание должно быть очень точным, чтобы не возникло ошибочное представление о другом объекте. То же относится и к программированию. Например, для использования текстового окна (TextBox) не нужно разрабатывать специальный драйвер графической карты. Вы просто используете объект класса TextBox. Этот абстрагированный объект содержит все, что нужно для редактирования текста в Windows.

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

Описывается применение классов внутри проекта (Standard EXE). Для использования классов в элементах управления ActiveX существуют дополнительные возможности, на которых мы подробнее остановимся в следующих главах. В Visual Basic классы используются в качестве шаблонов объектов. С их помощью во время выполнения можно создавать любое количество объектов одного класса. Внутренняя структура класса передается объекту посредством модуля класса. Таким образом, класс описывает семейство объектов, а каждый экземпляр класса является уникальным представителем этого семейства. При написании программ, для имитации поведения реальных объектов, в объектах объединяются как принципы действия, так и данные.

Модуль класса

Для создания собственного объекта нужен шаблон. Эти шаблоны в Visual

Basic представляют модули классов. С помощью команды Add Class Module меню Project или соответствующей кнопки панели инструментов Visual Basic такой модуль класса можно добавить в проект. После добавления модуля класса появляется пустое окно кода, в котором можно реализовать класс. В проектах типа Standard.EXE классы имеют только одно свойство – имя класса. В среде разработки Visual Basic все модули класса сохраняются как отдельные файлы с расширением CLS.

Форма

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

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

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

Visual Basic предоставляет и другую возможность создания классов. Если на

вкладке Environment диалогового окна Tools ptions в группе Show Templates For: активизировать опцию Class Modules, то при добавлении модуля класса отобразится диалоговое окно Add Class Module. С е го помощью можно либо создать пустой модуль класса, либо запустить мастер классов Visual Basic (утилита Class Builder). Для редактирования уже существующих в проекте классов эту утилиту можно вызвать также посредством команды Class Builder Utility меню Add_Ins из окна кода Visual Basic. При помощи команды NewCIass меню File данного мастера можно добавить новый модуль класса. В открывающемся диалоговом окне Class Module Builder следует задать имя класса и, при необходимости, указать ряд других параметров.

Свойства

Чтобы можно было использовать объекты класса (class или Form), необходимо создать соответствующие свойства и методы. Свойства в общем случае предназначены для изменения значений переменных состояния объектов. Например, свойство Text текстового окна позволяет задавать либо считывать значение отображаемой строки. При этом обычно объект не выполняет никаких действий. Свойства, не соответствующие этому правилу (например, CommonDialogI. Action = 1), следует заменять методами, реализующими аналогичные функции (CornmonDialogi. showOpen). Есть две возможности реализации свойств в классах: использование процедур свойств, позволяющих контролировать значения свойств, или объявление в классе переменных общего доступа (Public). Однако переменные, объявленные как Public, не обладают всеми возможностями процедур свойств.

Процедуры свойств

Кроме известных процедур Sub и Function, в Visual Basic есть и третья категория – процедуры Property, с помощью которых можно определять свойства класса. Чтобы процедуры были видимыми вне собственного контейнера, их следует объявлять как Public. Поскольку значения свойств можно как считывать, так и устанавливать, то для одного свойства могут потребоваться две процедуры с одним и тем же именем: одна для чтения, другая для присвоения значения свойства. Чтобы различить их, в заголовке процедуры используется дополнительное ключевое слово (Let или Get).

Оператор Property Let Явное использование необязательного ключевого слова Let зависит от стиля программирования, поэтому при присваивании значения переменной оно обычно не указывается. Однако в процедуре присваивания значения свойству использование ключевого слова Let обязательно, так как в этом случае оно указывает, что данная процедура является процедурой задания значения свойства.

Public Property Let Property_Name (ByVal vNewValue As Variant)

mVariable = vNewValue

End Property

Переменная vNewValue содержит значение, присваиваемое свойству. При

этом тип данных этой переменной должен соответствовать типу данных

свойства.

Оператор Property Get Процедура считывания значения свойства объявляется с использованием ключевого слова Get.

Public Property Get Property_Name () As Variant

Property_Name = mVariable

End Property

Здесь, как и в процедуре Function, возвращаемое значение присваивается имени процедуры. При создании процедуры Property Get следует обратить внимание на то, что она использует тот же тип данных, что и одноименная процедура Property Let. Обычно при определении свойства необходимо задавать обе процедуры. Воспользовавшись командой Add Procedure меню Tools, можно сэкономить время, поскольку эта команда позволяет создать одновременно обе процедуры свойств (Property Get И Property Let).

Оператор Property Set Существует и третий тип процедур свойств — процедура Property Set. Процедура Set используется аналогично Let, но передает не значение свойства, а ссылку на объект.

Public Property Set Property_Name (ByVal objNewValue As Object)

Set Property_Name = objNewValue

End Property

В этой связи важную роль играет свойство по умолчанию. Каждый элемент управления имеет такое свойство, которое всегда используется Visual Basic, если имя свойства в коде явно не указано.

Textl = "Hello" '(равнозначно Textl.Text = "Hello") vVariable = Textl

В приведенном примере свойству Text текстового окна присваивается определенное значение. Во второй строке это значение считывается. Но если переменной объекта требуется передать сам объект Textl, то строка кода должна выглядеть иначе – при присваивании объектных переменных в Visual Basic вместо неявного ключевого слова Let следует явно использовать ключевое слово Set.

vVariable = Textl "Содержимое: "Hello" Set vVariable = Textl

'Содержимое: копия Textl

Дорога с односторонним движением

Разделение процедур свойств на процедуры присваивания и процедуры считывания позволяет легко создавать свойства, доступные только для чтения или только для изменения. Допустим, вам нужно ограничить доступ к свойству и сделать его доступным только для чтения. Для этого достаточно создать только одну процедуру – в этом окне задается имя, тип данных и доступность свойства. При необходимости можно назначить это свойство свойством по умолчанию. Если при создании свойства в окне Property Builder установить опцию Public Property или Friend Property, мастер добавит в модуль класса три процедуры Property

(Let, Get и Set), а также внутреннюю переменную класса для хранения значения свойства.

Private mvarProperty_Name As Variant

Public Property Let Property_Name

(ByVal vData As Variant)

mvarProperty_Name =.vData

End Property

Public Property Set Property_Name (ByVal vData As Object)

Set mvarproperty Name = vData

End Property

Public Property Get Property_Name () As Variant

If IsObject(Property_Name) Then

Set Property_Name ° mvarProperty_Name

Else

Property_Mame = mvarProperty_Name

End If

End Property

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

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

Методы

Для использования объектов класса (Class или Form) нужны соответствующие свойства и методы. Методы используются для расширения функциональных возможностей объекта. Существует два типа процедур: с возвращаемым значением (синтаксис функции) и без возвращаемого значения (синтаксис оператора). Это также относится и к методам. Например, метод Clipboard. SetText использует синтаксис оператора, а метод Clipboard. GetText – синтаксис функции. При создании методов действуют те же правила, за исключением того, что процедуры Sub и Function следует объявлять как Public.

Синтаксис оператора

Для создания метода без возвращаемого значения в модуль класса необходимо добавить процедуру public Sub, имя которой будет именем метода.

Public Sub Method_Name()

vVarName = vVarName * 5

End Sub

Обращение к такому методу аналогично вызову обычной процедуры. При необходимости процедуре могут передаваться аргументы.

Public Sub Method_Name(argi, Optional arg2 As Integer)

vVarName = argi * arg2

End Sub

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

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

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

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

соответствующий класс и при помощи команды меню FileNewMethod или соответствующей кнопки панели инструментов окна мастера открыть диалоговое окно 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


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Тгу им. Г. Р. Державина
Реферат сделан досрочно, преподавателю понравилось, я тоже в восторге. Спасибо Татьяне за ...
star star star star star
РЭУ им.Плеханово
Альберт хороший исполнитель, сделал реферат очень быстро, вечером заказала, утром уже все ...
star star star star star
ФЭК
Маринаааа, спасибо вам огромное! Вы профессионал своего дела! Рекомендую всем ✌🏽😎
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно