Объектно-ориентированное программирование на Visual Basic в среде Visual Studio .NET
Покупка
Основная коллекция
Тематика:
Программирование на Basic, VBA
Издательство:
Издательство ФОРУМ
Год издания: 2024
Кол-во страниц: 398
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Среднее профессиональное образование
ISBN: 978-5-00091-551-6
ISBN-онлайн: 978-5-16-106722-2
Артикул: 682998.03.01
В учебном пособии излагаются основные принципы и средства объектно-ориентированного программирования, а также средства разработки приложений на языке программирования высокого уровня Visual Basic в среде Visual Studio.NET.
Излагаемый в пособии материал разбит на темы, каждая из которых направлена на изучение средств объектно-ориентированного программирования и их реализацию, а также на создание законченных работающих проектов приложений в лабораторной работе по каждой теме.
Пособие предназначено для студентов техникумов, колледжей, вузов, в учебных планах которых предусмотрены дисциплины «Информатика», «Основы алгоритмизации и программирования», «Методы и средства программирования», «Программирование на языке высокого уровня», «Объектно-ориентированное программирование».
Тематика:
ББК:
УДК:
- 002: Документация. НТИ. Печать в целом. Авторство. Книговедение. Информатика
- 004: Информационные технологии. Вычислительная техника...
ОКСО:
- Среднее профессиональное образование
- 09.02.01: Компьютерные системы и комплексы
- 09.02.02: Компьютерные сети
- 09.02.03: Программирование в компьютерных системах
- 09.02.04: Информационные системы (по отраслям)
- 09.02.05: Прикладная информатика (по отраслям)
- 10.02.01: Организация и технология защиты информации
- 10.02.02: Информационная безопасность телекоммуникационных систем
- 10.02.03: Информационная безопасность автоматизированных систем
- 11.02.07: Радиотехнические информационные системы
- 11.02.09: Многоканальные телекоммуникационные системы
- 11.02.11: Сети связи и системы коммутации
- 11.02.14: Электронные приборы и устройства
- 11.02.18: Системы радиосвязи, мобильной связи и телерадиовещания
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА VISUAL BASIC В СРЕДЕ VISUAL STUDIO .NET В.Н. Шакин, А.В. Загвоздкина, Г.К. Сосновиков Рекомендовано Учебно-методическим советом СПО в качестве учебного пособия для студентов учебных заведений, реализующих программу среднего профессионального образования по специальностям 09.02.01 «Компьютерные системы и комплексы», 09.02.02 «Компьютерные сети», 09.02.03 «Программирование в компьютерных системах», 09.02.04 «Информационные системы (по отраслям)», 09.02.05 «Прикладная информатика (по отраслям)» УЧЕБНОЕ ПОСОБИЕ Москва 202ИНФРА-М
УДК 004.43(075.32) ББК 32.81я723 Ш12 Шакин В.Н. Ш12 Объектно-ориентированное программирование на Visual Basic в среде Visual Studio .NET : учебное пособие / В.Н. Шакин, А.В. Загвоздкина, Г.К. Сосновиков. — Москва : ФОРУМ : ИНФРА-М, 2024. — 398 с. — (Среднее профессиональное образование). ISBN 978-5-00091-551-6 (ФОРУМ) ISBN 978-5-16-013978-4 (ИНФРА-М, print) ISBN 978-5-16-106722-2 (ИНФРА-М, online) В учебном пособии излагаются основные принципы и средства объектно-ориентирован ного программирования, а также средства разработки приложений на языке программирования высокого уровня Visual Basic в среде Visual Studio .NET. Излагаемый в пособии материал разбит на темы, каждая из которых направлена на из учение средств объектно-ориентированного программирования и их реализацию, а также на создание законченных работающих проектов приложений в лабораторной работе по каждой теме. Пособие предназначено для студентов техникумов, колледжей, вузов, в учебных планах которых предусмотрены дисциплины «Информатика», «Основы алгоритмизации и программирования», «Методы и средства программирования», «Программирование на языке высокого уровня», «Объектно-ориентированное программирование». УДК 004.43(075.32) ББК 32.81я723 Р е ц е н з е н т ы: Б.Р. Иванов — доктор технических наук, профессор, профессор кафедры Академии ФСО России; В.Г. Лисичкин — доктор технических наук, доцент, доцент кафедры Академии ФСО России; Ю.А. Сытняк — кандидат технических наук, доцент (ФГБНУ «Государственный науч но-методический центр») ISBN 978-5-00091-551-6 (ФОРУМ) ISBN 978-5-16-013978-4 (ИНФРА-М, print) ISBN 978-5-16-106722-2 (ИНФРА-М, online) © Шакин В.Н., Загвоздкина А.В., Сосновиков Г.К., 2014 © ФОРУМ, 2014
Предисловие В представленной книге, которая является учебным пособием для начинающих «программистов», излагаются основные принципы и средства объектноориентированного программирования (ООП), а также средства разработки приложений в среде Visual Studio .NET и средства языка программирования высокого уровня Visual Basic, что соответствует одному из разделов дисциплины «Информатика». Это учебное пособие является продолжением книги «Базовые средства программирования на Visual Basic в среде Visual Studio .NET» [1, 2]. Этот материал может быть использован как для препода кой аудитории дневной, заочной и дистанционной форм обу самостоятельного изучения, при котором начинающие одновременно работают с данным пособием и компьютером. лагается, что обучающиеся знакомы с базовыми средствами про на Visual Basic в среде Visual Studio .NET [1, 2]. Излагаемый в книге материал разбит на Темы, каждая из которых направлена, вопервых, на изучение средств объектноориентированного программирования и их реализацию, а вовторых, на создание законченных работающих проектов приложений. Изучение теоретического материала по каждой Теме заканчивается набором задач для самостоятельного решения. Для закрепления полученных знаний рекомендуется выполнить лабораторную работу с самостоятельным вариантом по соответствующей Теме, предварительно проанализировав примеры выполнения этой лабораторной работы. Предполагается, что в примерах пособия используются средства разработки проектов MS Visual Studio 2012—2013. Проведенный анализ учебной литературы показал, что несмотря на наличие книг по разработке приложений на языке программирования MS Visual Basic, их содержание редко отвечает совместной практической работе преподавателя и студента в конкретном учебном заведении и на конкретном занятии. Использование различных самоучителей, руководств для профессиональной работы в среде программирования действительно возможно в учебном процессе, но только при соответствующей детальной переработке. вания в студенчес чения, так и для «программисты» Причем предпограммирования
Слабая мотивация, сложность решаемых задач, отсутствие навыков в использовании объектноориентированного программирования порой формируют стойкое неприятие объектноориентированной технологии. Основная цель создания пособия — обеспечить прочное и сознательное освоение основ объектноориентированного программирования, формирование практических умений — профессиональных, учебных, интеллектуальных, необходимых будущему специалисту. Помимо приобретения чисто практических умений, ценных с точки зрения освоения компьютерной грамотности, студенты получают наглядное представление о возможностях, предоставляемых компьютером человеку, вырабатывают при решении поставленных задач такие профессионально значимые качества, как самостоятельность, ответственность, точность, творческая инициатива. Учебное пособие включает Предисловие, Введение, шесть Тем и три Приложения. Во Введении изложены основные подходы к созданию программных приложений, в том числе объектноориентированная декомпозиция и моделирование, а также описаны основные средства разработки программных приложений на платформе .NET. Приведены общие рекомендации по разработке учебных программ средствами ООП. В Теме 1 рассматриваются модульная структура приложений и использование стандартных модулей в Visual Basic, а также приводятся примеры создания и выполнения Windowsпроектов с несколькими формами. В Теме 2 описаны базовые понятия объектной модели, средства описания, создания и использования классов в приложении на Visual Basic. Здесь также показаны взаимодействия, взаимные различия и сходства форм, модулей и классов, приводятся практические примеры разработки программных приложений с использованием классов. В Темах 3й и 4й рассматриваются средства объектноориентированного проектирования классов с различными структурами — включением и вложением классов, подробно излагаются иерархия классов и наследование, а также использование интерфейсов при создании иерархий классов. Рассмотрены программные средства организации взаимодействия объектов и обработки исключений в среде Framework .NET. В Теме 5 рассматриваются основы проектирования баз данных (БД) средствами СУБД, в том числе основные понятия реляционной модели данных, основные понятия ERмодели (модели «сущностьсвязь») и создание БД средствами MS Access. В Теме 6 представлены средства технологии работы с данными в среде Visual Studio .NET, в том числе создание приложений для обработки данных в среде VS .NET. Рассмотрены основные понятия модели доступа к данным — ADO .NET, примеры разработки приложений для работы с базами данных СУБД Access. ООП и проектирование БД имеют родственные методологии, составными частями которых являются объекты, классы, наследование в ООП и сущности, экземпляры сущностей, связи, дочерние и родительские сущности в БД и т. п. 4 Предисловие
В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения и которая может на них реагировать, используя свои данные и методы. В центре БД находятся сущности, связи между ними позволяют обмениваться данными (сообщениями). При описании лабораторной работы по каждой теме приведены примеры выполнения задания для самостоятельной подготовки, объясняется, какой объем работы студент должен выполнить в лаборатории, приводится содержание отчета по конкретной лабораторной работе и контрольные вопросы. В Приложении 1 приведены средства создания проектов и Диаграмм для UMLмоделирования в конструкторе классов Visual Studio. В Приложении 2 можно ознакомиться со Схемами классов, отображающими существующие проекты в Конструкторе классов. В Приложении 3 приведен словарь терминов объектноориентированного программирования. Материал, изложенный в книге, особенно будет полезен студентам, обучающимся на технических специальностях и направлениях университетов, техникумов, колледжей, в учебных планах которых предусмотрены дисциплины «Информатика», «Основы алгоритмизации и программирования», «Методы и средства программирования», «Программирование на языке высокого уровня», «Объектноориентированное программирование» и т. д. Апробация учебного пособия показала, что студенты, не имеющие подготовки в области программирования, не только успешно осваивают представленные в пособии приложения, но и вносят в них свои очень интересные изменения, направленные на улучшение их работы. Преподаватели могут оценить учебное пособие с точки зрения методики преподавания объектноориентированной технологии. Многие программы специально написаны таким образом, чтобы учащиеся имели возможность доработать или оптимизировать их код, что поможет педагогу создать творческую атмосферу на занятиях. В каждой теме приведены задачи для самостоятельного решения, позволяющие оценить уровень подготовки студента. Следует отметить, что учебное пособие не может претендовать на функциональную полноту или на полную оригинальность приведенных методов, алгоритмов и программ. Авторы преследовали иную цель: не отпугнуть студента с низким уровнем базовой подготовки, а помочь ему путем доступного изложения фундаментальных теоретических и практических основ объектноориентированного программирования изучить средства языка MS Visual Basic в полном объеме. Авторы выражают признательность преподавателям кафедры «Информатика» Московского технического университета связи и информатики (МТУСИ) за помощь и участие при подготовке данного издания. Предисловие 5
Введение в разработку прикладных программ B.1. Основные подходы к созданию прикладных программ Программное обеспечение (ПО) является логическим продолжением технических средств компьютера. Сфера применения конкретного компьютера определяется созданным для него ПО. К ПО можно отнести всю область деятельности по проектированию и разработке ПО: технологию проектирования (например, нисходящее проектирование, структурное и объектноориентированное проектирование), методы тестирования, методы доказательства правильности работы программного кода, документирование программ, разработку и использование программных средств, облегчающих процесс проектирования ПО, и многое другое. Поэтому все ПО, работающее на компьютере, можно условно разделить на три категории: прикладное ПО, непосредственно обеспечивающее выполнение необходимых пользователям задач, системное ПО, выполняющее различные вспомогательные функции, инструментальные программные системы, облегчающие процесс создания новых программ. Системное ПО служит для управления ресурсами компьютера — центральным процессором, памятью, вводомвыводом. Это программы общего пользования, которые предназначены для всех пользователей компьютера. Системное программное обеспечение разрабатывается так, чтобы компьютер мог эффективно выполнять прикладные программы. Среди огромного количества системных программ особое место занимают операционные системы (ОС), а также программы вспомогательного назначения — утилиты. Утилиты либо расширяют и дополняют соответствующие возможности ОС, либо решают самостоятельные важные задачи. Причем часть утилит входит в состав операционной системы, а другая часть функционирует независимо от нее автономно. Операционная система — это комплекс взаимосвязанных системных программ, назначение которых — организовать взаимодействие пользователя с ком
пьютерным оборудованием и выполнение всех других программ. Операционная система — связующее звено между аппаратурой компьютера, с одной стороны, и выполняемыми программами, а также пользователем, с другой стороны. Операционную систему можно назвать программным продолжением устройств управления компьютером. Прикладная программа — это любая программа, способствующая решению какойлибо задачи в пределах данной предметной области. Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т. п. Причем прикладные программы могут использоваться либо автономно, т. е. решать поставленную задачу без помощи других программ, либо в составе программных комплексов, или пакетов. В данном пособии будем говорить о разработке прикладных программ — приложений. В связи с этим необходимо отметить, что разрабатываемое прикладное ПО условно можно разбить на два класса: «малое» и «большое» [3, 4]. «Малое» прикладное ПО, как правило, решает одну несложную, четко поставленную задачу; размер исходного программного кода не превышает нескольких сотен строк; скорость работы этого программного обеспечения и необходимые ему ресурсы не играют большой роли; ущерб от неправильной работы не имеет большого значения; модернизация программного обеспечения, дополнение его возможностей требуются редко; как правило, разрабатывается одним разработчиком или небольшой группой; подробная документация не требуется, ее можно заменить исходным кодом с комментариями. Примерами «малых» прикладных программ могут служить программы, которые реализованы по базовым алгоритмам, и примеры проектов лабораторных работ [1, 2]. «Большое» ПО имеет дветри или более следующих характеристик: решает совокупность взаимосвязанных задач; его использование приносит значимую выгоду, а удобство использования играет важную роль; обязательно наличие полной и понятной документации; низкая скорость работы приводит к потерям; сбои, неправильная работа наносят ощутимый ущерб; программы в составе ПО во время работы взаимодействуют с другими программами и программноаппаратными комплексами; работает на разных платформах; требуются развитие, исправление ошибок, добавление новых возможностей; группа разработчиков состоит из более чем пяти человек. Необходимо отметить, что «сложные», или «большие», прикладные программы, которые часто называют также программными системами, программными комплексами или программными продуктами, отличаются от «небольших» не столько по размерам, сколько по наличию дополнительных факторов, связанных с их востребованностью и готовностью пользователей «платить» как за приобретение самого продукта, так и за его сопровождение, и за обучение работе с ним. Что же определяет структуру и стиль разработки ПО? Прежде всего, это парадигма программирования, которой необходимо следовать, работая в любой среде системы программирования. Парадигма программирования представляет и определяет то, как программист видит процесс создания и выполнения программного проекта: способ мышления, как представляются задачи, подлежащие решению на компьютере с помоB.1. Основные подходы к созданию прикладных программ 7
щью конкретной среды и языка программирования, как все должно быть структурировано и организовано. В учебном пособии [1, 2] для изучения базовых средств алгоритмического языка Visual Basic используется среда программирования Visual Studio .NET. А поскольку в основе этой среды лежат различные технологии, в том числе технологии структурного, процедурного, визуального и объектноориентированного программирования, то в первую очередь необходимо следовать правилам этих технологий. Все они — всего лишь различные инструменты, которые можно использовать при разработке ПО. Каждый из этих инструментов посвоему хорош. На самом деле различные методики программирования дают разный выигрыш для решения задач разных типов. Обычно этот выигрыш измеряют по двум параметрам: эффективность ПО на современных ЭВМ; общие затраты на разработку и дальнейшее сопровождение ПО. Различные языки программирования поддерживают различные стили программирования (парадигмы программирования) и требуют от программиста различного уровня внимания к деталям при реализации поставленных задач. Так, в традиционном императивном программировании логика программы описывается как последовательность действий, а в объектноориентированном программировании программу принято рассматривать как набор взаимодействующих объектов предметной области. В то же время важно отметить, что парадигма программирования не определяется однозначно языком программирования: многие современные языки программирования допускают использование различных парадигм. О просто последовательном, неструктурированном программировании даже не будем говорить, а рассмотрим две современные парадигмы: структурного (процедурноориентированного) и объектноориентированного программирования Структурное (процедурное) программирование — методология разработки ПО, в основе которой лежит представление программы в виде иерархической структуры базовых алгоритмических блоков. Она предложена в 70х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом. В соответствии с этой методологией: 1. Любая программа представляет собой структуру, построенную из трех типов базовых конструкций: последовательность — однократное выполнение операций в том порядке, в котором они записаны в тексте программы; разветвление — однократное выполнение одной из двух или более операций, в зависимости от истинности или ложности некоторого заданного условия; цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла); в программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается. 2. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде процедур (подпрограмм или функций). В этом случае в тексте основной программы, вместо помещенного в подпрограмму фрагмента, 8 Введение в разработку прикладных программ
вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы. То есть процедурное программирование — это прежде всего выделение программного кода в отдельные, желательно небольшие функциональные блоки, называемые процедурами, с целью упростить код (сделать проще для понимания текст алгоритма), для повторного использования кода (чтобы избежать его многократного повторения в тексте программы), для разделения кода на понятные специализированные блоки, намного более легкие в понимании и сопровождении, чем очень длинный монолитный программный код. 3. Разработка программы ведется пошагово, как правило, методом «сверху вниз». Обратите внимание, что в окончательном виде любая программа представляет собой последовательность инструкций процессора. Исторически парадигмы процедурного, а затем объектноориентированного программирования появились следующим образом. Работа первых компьютеров сводилась к вычислениям по формулам различной сложности, число переменных и массивов было невелико, и программист легко помнил взаимосвязи между ними и детали алгоритма. С ростом объема и сложности программы становится невозможно удерживать в памяти все детали, требуется структурировать информацию, выделять главное и отбрасывать несущественное. Этот процесс называется повышением абстракции программы. И первым шагом к повышению абстракции является использование процедур, позволяющее после написания и отладки процедуры отвлечься от деталей ее реализации, поскольку для вызова процедуры требуется только знать список ее формальных параметров. Так в программировании появилась и использовалась структурированная процедурноориентированная модель. Сначала программист разбирался, что должна делать программа, а затем выбирал одно из двух: 1. Задача разбивалась на подзадачи, те, в свою очередь, на подзадачи следующего уровня и т. д. Этот процесс, называемый декомпозицией, длился до тех пор, пока упрощение подзадач не сводилось к элементарным процедурам, которые могли быть формализованы. Этот подход называется «сверху вниз». 2. Программист писал процедуры для решения простых задач и последовательно объединял их в более сложные процедуры, пока не добивался решения поставленной задачи. Такой подход называется «снизу вверх». Конечно, многие опытные программисты не следовали рекомендациям теоретиков, выступавших за первый способ, и предпочитали решать практические задачи комбинацией этих двух стратегий. Таким образом, программа, написанная на основе процедурного подхода, разделена на процедуры, каждая из которых в идеальном случае выполняет некоторую законченную последовательность действий и имеет явно выраженные связи с другими процедурами программы. При этом задачи «реального мира» приходится переформулировать, представляя все данные в виде переменных, массивов, списков и других структур данных. При моделировании больших систем объем этих данных увеличивается, они становятся плохо управляемыми, и это B.1. Основные подходы к созданию прикладных программ 9
приводит к большому числу ошибок. Другая большая проблема возникает изза того, что любая процедура может обратиться к глобальным (общедоступным) данным, что повышает риск недопустимого (несанкционированного) изменения какихто значений. Итак, процедурноориентированный подход имеет два главных недостатка: первый заключается в неограниченности доступа процедур к глобальным данным; второй — в том, что разделение данных и процедур, являющееся основой процедурноориентированного программирования, плохо отображает картину реального мира. Рассмотрим подробнее эти недостатки. В процедурной программе существуют два типа данных. Локальные данные находятся внутри процедуры, могут использоваться исключительно этой процедурой и недоступны никому, кроме этой процедуры. При необходимости совместного использования одних и тех же данных несколькими процедурами такие данные надо объявлять как глобальные. Концепция локальных и глобальных данных показана на рис. В.11. Большие программы обычно содержат множество процедур и глобальных переменных. Между процедурами и глобальными данными возможно большое число связей, как показано на рис. В.12, что также порождает несколько проблем. Вопервых, усложняется структура программы. Вовторых, в программу становится трудно вносить изменения. Например, если разработчик программы 10 Введение в разработку прикладных программ Рис. В.11. Глобальные и локальные переменные Рис. В.12. Процедурный подход к проектированию прикладных программ