Полная версия

Главная arrow Информатика arrow Базовые средства программирования на Visual Basic в среде VisualStudio. Net

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Интегрированная среда разработки Visual Studio .NET

Технология визуального программирования и основные понятия

По сравнению с предыдущими поколениями языков программирования, язык программирования высокого уровня - Visual Basic (VB) имеет ряд принципиальных отличий. Это мощная, профессиональная система программирования, позволяющая быстро и эффективно создавать приложения для MS Windows. Поскольку система является «визуальной», программист может создавать видимую часть приложения MS Windows, не написав почти ни строчки программного кода. Эта видимая часть является основой интерфейса пользователя «программный проект - пользователь», с помощью которого осуществляется взаимодействие пользователя с программым проектом. Разработка, как программного кода классов и методов для решения поставленной задачи, так и программного интерфейса приложения осуществляется на принципах объектно-ориентированного подхода, реализованного в Visua Studio .NET (VS). Приложения (проекты) выполняются под управлением MS Windows с помощью Интегрированной Среды Разработки (IDE).

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

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

Вторая группа действий (отклика) на события полностью определяется разработчиком ПО. Это обеспечивается возможностью задания процедуры VB для каждого возможного для объекта события. Первоначально каждая такая процедура является пустой, без тела процедуры, и, следовательно, когда происходит событие, ничего не происходит. Теоретически можно создать процедуру для любого события, но на практике программист заполняет программным кодом процедуры только для тех событий, которые в данной программе представляют интерес.

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

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

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

Основной единицей в объектно-ориентированном программировании является программный объект, который объединяет в себе как описывающие его данные (поля), так и средства обработки этих данных (методы).

То есть, программные объекты обладают свойствами, могут использовать методы и реагировать на события.

Основными объектами визуального программирования являются форма и ее элементы управления.

Форма (Form) - это объект, представляющий собой окно, на котором размещаются элементы управления, например: Кнопка (Button); Метка (Label); ТекстовоеПоле (TextBox); Флажок (CheckBox); Список (ListBox); Раскрывающийся Список (ComboBox); Переключатель (RadioButton) и др.

Среда визуального программирования позволяет увидеть объекты на экране на этапе проектирования приложения, дает возможность настроить объекты, изменяя их расположение, размеры и другие свойства. Форма является контейнером объектов, и в то же время сама также является объектом. При размещении объекта на форме основные параметры объекта сохраняются в исполняемом программном коде. При этом объектами также являются программные блоки или фрагменты программного кода (классы, процедуры, методы, модули), из которых «собирается» проектируемый проект (приложение).

Свойства объекта - это значения или характеристики, хранимые объектом. В то же время совокупность свойств объекта определяет его состояние. Например, Текст (Text) или Цвет (BackColor) формы, способ Выравнивания текста (Alignment) или Цвет символов (ForeColor) текстового поля - это свойства. В программе обращение к объекту происходит по имени объекта. Свойства объектов можно задавать в окне Свойства и менять свойства объектов в программном коде.

В программном коде существуют определенные правила (определенный формат) для установки свойства - имя объекта и название свойства согласно правилам точечной нотации разделяются точкой.

Класс - это совокупность объектов, обладающих общими свойствами и поведением. Например, Buttonl (Кнопка!) на Forml (Форма!) со всеми своими конкретными свойствами и действием является объектом класса Button. Класс характеризуется такими основополагающими понятиями объектно-ориентированного программирования, как:

наследование - объект класса обладает всеми свойствами, методами и

событиями класса;

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

Коллекция объектов - это набор объектов, объединенных общим именем, причем не обязательно это объекты одного класса. Примером коллекций могут служить встроенные в VB коллекции, в числе которых:

  • • Forms (Формы) - множество загруженных форм приложения;
  • • Controls (Элементы управления) - множествовсех элементов управления в форме.

Пространство имен - это иерархическая библиотека классов, организованная под уникальными именами такими, например, как System.Windows или System.Math. Для доступа к классам и основанным на них объектам, входящим в пространство имен, в начале программного кода может быть помещен оператор Imports. Каждый проект в VS также содержит корневое пространство имен. Пространство имен в документации по VS называется также библиотеками классов.

Событие - это средство взаимодействия объектов друг с другом. Событие может создаваться пользователем или возникать в результате воздействия других программных объектов. Объекты могут генерировать события и выполнять действия в ответ на заданные события. Примеры событий - Load (Загрузка) формы, Click (Щелчок) мышью по объекту, DblClick (Двойной щелчок) мышью и другие. В качестве реакции на события вызывается событийная процедура, которая может изменять свойства объекта.

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

Приложения, созданные с помощью VB, работают потому же принципу. При этом VB выполняет как бы внутреннюю работу. Например, когда в приложении происходит щелчок мышью по кнопке, возникает событие - VB перехватывает соответствующее сообщение MS Windows и вызывает событие Click объекта Button.

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

Откликом на события является вызов событийной процедуры, которая была ранее создана разработчиком ПО. Смысл такой процедуры - выполнение запрограммированных действий: изменение свойств объекта, вызов методов, выполнение вычислений по заданному алгоритму с выводом результата в определенные места приложения и т.п. Например, если пользователь нажимает кнопку, то в качестве отклика выполняется некоторая последовательность действий, которая определена в событийной процедуре в соответствии с заданным алгоритмом.

Кроме событийных процедур пользователь может создать общие процедуры (процедуры пользователя).

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

Метод - это процедура, которая реализует действия, возможные с объектом. В результате этих действий в объекте что-либо меняется. VB предоставляет пользователю большое количество встроенных процедур, находящихся в библиотеке, и готовых к использованию. Эти процедуры являются неотъемлемой частью библиотеки классов, то есть являются методами классов, .NET Framework.

Средства процедурного программирования (процедуры) - неотъемлемая часть любого языка программирования высокого уровня, которая является одной из основных частей парадигмы современного программирования. Но лишь при появлении языков, поддерживающих объектно-ориентированное программирование, были введены особые типы встроенных процедур, названные методами. Методы «работают» как процедуры, но принадлежат конкретным объектам, так же, как и свойства. В программном коде обратиться к методу можно так же, как и к свойству - с использованием точечной нотации.

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

Процедуры-подпрограммы начинаются ключевым словом Sub и заканчиваются ключевыми словами End Sub, а процедуры-функции начинаются ключевым словом Function и заканчиваются ключевыми словами

End Function, между которыми помещается программный код данной процедуры. Программный код каждой процедуры состоит из одного или нескольких операторов языка программирования VB.

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

Имя событийной процедуры состоит из трех частей (включая подчеркивание): ИмяОбъекта_ИмяСобытия.

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

Оператор - это конструкция языка программирования, задающая одну или несколько операций, производимых над операндами. В качестве операндов могут выступать константы, переменные, выражения, функции и т.д. Любой оператор записывается в соответствии с синтаксическими правилами языка программирования. Например, в операторе присваивания знак «=» читается «присвоить» и означает, что в память компьютера записывается значение, равное значению выражения справа от знака «=». Например, строка Forml.Text = "Форма с картинкой"

означает, что в памяти с именем Forml. Тext записывается значение - текст "Форма С картинкой". Строка Р=А+В+С используется в программе для вычисления значения выражения и присваивания его переменной Р.

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

Проект является также единицей компиляции. Результатом компиляции проекта является сборка. Каждый проект содержит одно или несколько пространств имен. На начальном этапе создания проекта по заданному типу проекта автоматически строится каркас проекта, состоящий из классов, являющихся наследниками классов, входящих в состав библиотеки FCL (Framework Class Library) - библиотеки классов платформы .NET Framework. Так, если разработчик указывает, что он будет создавать проект типа «Приложение Windows Forms», то в состав каркаса проекта по умолчанию войдет объект Forml наследник библиотечного класса Form. Разработчик программного проекта дополнит созданную форму элементами управления - объектами соответствующих классов, тем самым расширив возможности формы, построенной по умолчанию.

Каждый проект содержит всю информацию, необходимую для построения сборки. В проект входят все файлы с классами, построенные автоматически в момент создания проекта, и файлы с классами, созданные разработчиком проекта. В проект входят также установки и ресурсы, требуемые для работы. Частью проекта также является файл, содержащий описание сборки (манифест).

В зависимости от выбранного типа проект может быть выполняемым или невыполняемым. К выполняемым проектам относятся, например, проекты типа Консольное приложение или Приложение Windows Forms. При построении каркаса нового выполняемого проекта в него включается класс, содержащий статическую процедуру с именем Main ( ). В результате компиляции такого проекта создается РЕ-файл - выполняемый переносимый файл с расширением .ехе. Такой РЕ-файл может выполняться только на компьютерах, где установлен Framework .Net, поскольку это файл с управляемым кодом.

К невыполняемым проектам относятся, например, проекты типа Библиотека классов (DLL), которая имеет расширение .dll, и является динамически связываемая библиотека, т.е. эти проекты, предназначены для включения (связывания) в другие проекты. В результате компиляции проекта типа Библиотека классов в сборку войдет файл с расширеием .dll. Такие проекты (сборки) непосредственно не могут быть выполнены на компьютере. Они присоединяются к выполняемым сборкам, откуда и вызываются методы классов, размещенных в невыполняемом проекте (DLL).

Этапы реализации простейших проектов - можно разделить на несколько шагов:

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

Решение - это разрабатываемое приложение, файлы которого содержат информации об одном или нескольких проектах, как правило, связанных общей темой. Файл решения используется для управления несколькими взаимосвязанными проектами и имеет расширение .sin. Причем каждый проект, создаваемый в VS, помещается в одну оболочку, называемую Решением (Solution).

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

Итак, обратите внимание еще раз на следующее:

Класс - это центральное понятие объектно-ориентированного программирования. Разработчик проектов на VB использует стандартные классы из библиотеки FCL и создает собственные классы. Причем класс выполняет две различные роли:

  • Класс - это модуль - архитектурная единица построения проекта по модульному принципу. Справиться со сложностью большого проекта можно только путем деления его на модули, - сравнительно небольшие единицы, допускающие независимую разработку и последующее объединение в большую систему.
  • Класс - это тип данных то есть семантическая единица, описывающая свойства и поведение множества объектов, называемых экземплярами класса. Синтаксически класс представляет описание данных, называемых полями класса, описание методов класса и описание событий класса. Для класса, рассматриваемого как тип данных, поля определяют состояние объектов, методы - поведение объектов. События - это некоторые специальные состояния, в которых может находиться объект, и которые могут обрабатываться внешними по отношению к классу обработчиками события. Так, например, объект класса ЧЕЛОВЕК может иметь событие «День рождения» и каждый из обработчиков этого события может принести объекту свои поздравления по этому случаю.

Как правило, классы играют обе роли. Но в VB можно определять классы, играющие только роль модуля. Это модули, для которых невозможно создавать объекты.

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

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

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>