Программирование в VB_Net_1_семестр
.pdfКафедра |
|
Классы объектов |
|
Кафедра |
Объекты Windows |
|
|
информатики |
|
информатики |
|
||||
|
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
|
|
||
Объекты, построенные на базе одного класса (по |
В ОС Windows приложения, папки, документы, |
|
|||||
окна, кнопки, и др. рассматриваются как |
|
||||||
|
шаблону класса): |
|
|
||||
|
|
объекты. |
|
||||
• |
обладают сходными свойствами и выполняют |
|
|||||
|
|
|
|||||
|
сходные операции; |
|
Элементы управления – стандартные объекты, |
||||
|
|
используемые ОС для ввода разного рода |
|
||||
• |
взаимодействуют друг с другом только |
|
|||||
информации. |
|
||||||
|
способами, предусмотренными в открытом |
|
|||||
|
|
|
|
||||
|
интерфейсе создаваемой программы; |
Хотя каждый из этих объектов имеет разные |
|
||||
|
свойства, и с ними можно производить |
|
|||||
• |
изменяют свое текущее состояние при |
|
|||||
различные действия, технология работы с |
|
||||||
|
поступлении специального запроса (при вызове |
|
|||||
|
объектами и интерфейс универсальны. |
|
|||||
|
метода или изменении свойства). |
|
|
||||
|
|
Это позволяет пользователю достичь |
|
||||
|
|
|
|
|
|
||
|
|
|
|
161 |
|
алгоритмизации курс 1 2014 г. |
162 |
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
|
единообразияПр граммирование приосновыработе с разными объектами. |
||
Кафедра |
|
|
|
Кафедра |
Основные принципы ООП |
|
|
информатики |
|
|
информатики |
|
|||
|
|
Объекты Windows (элементы управления) |
|
УГАТУ |
|||
|
|
|
|
УГАТУ |
|
|
|
|
|
|
|
Вкладки (Tab) |
Основные принципы ООП: |
|
|
|
|
|
|
|
|
||
|
|
|
|
Надписи (Label) |
- |
инкапсуляция; |
|
|
|
|
|
Переключатели |
- |
наследование; |
|
|
|
|
|
|
|
|
|
|
|
|
|
(Option) |
- |
полиморфизм. |
|
|
|
|
|
Флажки |
|
|
|
|
|
|
|
(Checkbox) |
Программа, построенная по этим принципам, |
|
|
|
|
|
|
Поля ввода |
есть совокупность объектов и способов их |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(TextBox) |
взаимодействия, при этом обмен информацией |
||
|
|
|
|
Командные |
между объектами происходит посредством |
|
|
|
|
|
|
кнопки |
сообщений. |
|
|
|
|
|
|
(Button) |
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
163 |
|
|
|
Кафедра |
Инкапсуляция |
|
Кафедра |
Инкапсуляция |
|
информатики |
|
информатики |
|
||
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
||
Инкапсуляция (encapsulation – герметизация) – |
Доступ к изменению свойств объекта |
|
|||
|
|
|
|
||
связывание данных и обрабатывающих эти |
|
осуществляется только с помощью методов, |
|||
|
|
|
|||
данные подпрограмм в единое целое – объект. |
присущих данному классу объектов. Если |
|
|||
|
|
|
|
||
При этом внутренние детали объекта должны |
|
есть метод, то данное свойство данного объекта |
|||
|
|
|
|||
быть скрыты. |
|
|
можно изменить, нет метода – нельзя. |
|
|
|
|
|
|
||
Для обеспечения инкапсуляции класс не должен |
Методы как бы «окружают» свойства объекта, |
|
|||
позволять прямого доступа к своим данным. |
|
говорят, что свойства «инкапсулированы» в |
|
||
|
|
|
объект. |
|
|
Кафедра |
Инкапсуляция |
|
Кафедра |
Инкапсуляция |
|
информатики |
|
информатики |
|
||
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
||
Термин «инкапсуляция» означает маскировку |
|
Все операции с внутренними данными объекта |
|
||
данных. |
|
|
осуществляются только посредством обмена |
||
При наличии закрытых данных, недоступных |
|
сообщениями. |
|
|
|
|
|
|
|
||
извне, объект превращается в «черный ящик» с |
Данные объекта хранятся в переменных |
|
|||
четкими правилами поведения и неизвестным |
экземпляра. |
|
|
||
внутренним устройством. |
|
Текущее состояние объекта определяется |
|
||
|
|
|
|
||
|
|
|
текущими значениями переменных экземпляра. |
||
Программирование и основы алгоритмизации курс 1 2014 г. |
167 |
Программирование и основы алгоритмизации курс 1 2014 г. |
168 |
Кафедра |
Наследование |
|
Кафедра |
Наследование |
|
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
УГАТУ |
|||
|
|
|
|
|||
Наследование (Inheriting) означает, что если |
|
Наследование определяет отношение между |
|
|||
надо создать новый класс, лишь немного |
|
классами: объекты класса-наследника |
|
|||
отличающийся от имеющегося, то нет |
|
обладают всеми свойствами и методами |
|
|||
необходимости переписывать уже |
|
объектов класса-родителя. |
|
|||
существующие поля и методы. |
|
В класс-потомок можно добавлять новые поля, |
|
|||
|
|
|
методы и свойства. |
|
||
Имеющийся класс называют предком или |
|
|
|
|
||
родительским классом, новый класс называют |
|
|
|
|||
потомком или дочерним классом. |
|
|
|
|
||
|
Программирование и основы алгоритмизации курс 1 2014 г. |
169 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
170 |
|
Кафедра |
Полиморфизм |
|
Кафедра |
Полиморфизм |
|
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
УГАТУ |
|||
|
|
|
|
|||
Полиморфизм (имеющий много форм). К |
|
Полиморфизм – возможность использования |
||||
объектам разных классов можно применять |
|
|||||
|
методов имеющих одинаковые имена для |
|||||
методы с одинаковым именем, но действовать |
||||||
объектов разных классов, а реализация этих |
||||||
эти методы для разных объектов будут по- |
|
|||||
|
методов может быть индивидуальной для |
|
||||
разному. |
|
|
||||
|
|
|
|
|||
Например, к большинству объектов в Windows и в |
каждого класса. |
|
||||
|
|
|
||||
MSOffice можно применять такие методы как: |
|
Полиморфизм – это свойство классов решать |
|
|||
копирование, перемещение, переименование, |
схожие по смыслу проблемы разными |
|
||||
удаление и т.п. Однако, механизмы реализации |
способами. |
|
||||
этих методов для разных классов (файл в |
|
|
||||
|
|
|
|
|||
Windows и документ Word) неодинаковы. |
|
|
|
|
||
|
Программирование и основы алгоритмизации курс 1 2014 г. |
171 |
|
|
|
Кафедра |
Полиморфизм |
|
Кафедра |
Классы объектов |
|
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
УГАТУ |
|||
|
|
|
|
|||
Другими словами: полиморфизм – это |
|
Как объекты взаимодействуют друг с другом? |
||||
|
|
|
|
|||
способность объектов выбирать метод на |
|
Согласно одному из ключевых принципов ООП |
|
|||
основе принятых в сообщении данных. |
|
каждый класс (шаблон для построения объектов) |
||||
Это свойство дает возможность называть разные |
отвечает за выполнение небольшой группы |
|
||||
взаимосвязанных задач. |
|
|||||
алгоритмические действия одним именем. |
|
|
||||
|
|
|
|
|||
Каждый объект может реагировать по-своему на |
Запрос к другому объекту реализуется |
|
||||
обращением к его свойству или вызовом метода |
||||||
одно и то же сообщение. |
|
|||||
|
этого объекта. |
|
||||
|
|
|
|
|||
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
174 |
|
Кафедра |
Классы объектов |
|
Кафедра |
|
|
|
информатики |
|
информатики |
|
|
||
|
|
Классы и пространство имен в .NET Framework |
||||
|
|
УГАТУ |
|
|
УГАТУ |
|
Объекты взаимодействуют с другими объектами |
Классы в .NET Framework организованы в |
|
||||
только посредством обмена сообщениями из |
|
ветвящиеся иерархические структуры, которые |
||||
определенного набора. |
|
называются пространствами имен. Это |
|
|||
Все подробности внутренней реализации объекта |
определяет способ объединения классов и их |
|
||||
остаются скрытыми от внешнего мира. |
|
членов в логические группы. |
|
|||
Все операции с объектами в программе |
|
В корне иерархии находится пространство имен |
||||
должны сводиться к изменению их свойств и |
System, содержащее как классы, так и другие |
|
||||
вызову методов. |
|
вложенные пространства имен. |
|
|||
|
Программирование и основы алгоритмизации курс 1 2014 г. |
175 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
176 |
Кафедра |
|
|
|
имен в .NET Framework |
||
информатики |
|
|
|
|||
Классы и пространство имен в .NET Framework |
|
|||||
|
|
УГАТУ |
|
|
|
УГАТУ |
Все стандартные пространства имен порождены от |
|
|
|
|
||
пространства System, в котором описан базовый |
|
|
|
|
||
класс Object (все классы стандартной системы |
|
|
|
|
||
типов CTS произведены от этого базового |
|
|
|
|
|
|
класса). |
|
|
|
|
|
|
Пространства имен, вложенные в корневое, |
|
|
|
|
|
|
указываются как составные имена: |
|
|
|
|
|
|
System.Windows.Forms. |
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
177 |
|
алгоритмизации курс 1 |
2014 г. |
178 |
Кафедра |
Классы объектов |
|
Кафедра |
Классы объектов |
|
|
информатики |
|
информатики |
|
|
||
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
||
Класс в ООП выступает в качестве объектного |
|
|
|
|
|
|
типа данных, а объект – это конкретный |
|
Каждый |
|
|
|
|
экземпляр класса. |
|
объект |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
класса в |
|
|
|
|
|
|
ООП |
|
|
|
|
|
|
обладает |
|
|
|
|
|
|
набором |
|
|
|
|
|
|
свойств |
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
179 |
Программирование и основы алгоритмизации курс 1 |
2014 г. |
180 |
Кафедра |
|
Свойства объектов |
|
Кафедра |
|
Свойства объектов |
|
информатики |
|
информатики |
|
||||
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
|
||
Свойства – параметры объекта, которые |
|
Для обращения к свойствам объекта используются |
|||||
|
составные имена, содержащие имя объекта в |
||||||
|
определяют внешний вид и поведение |
|
|||||
|
|
качестве префикса (перед точкой): |
|
||||
|
|
|
|
|
|||
|
объекта, выделяют уникальные особенности |
<Имя объекта>.<Имя свойства> = <Выражение> |
|||||
|
каждого экземпляра класса. |
|
|||||
|
|
|
|
|
|
||
|
|
|
|
|
a = Val(TextBox1.Text) |
|
|
К ним относятся, например, имя, значение, цвет, |
|
b = Val(TextBox2.Text) |
|
||||
|
размер и др. |
|
|
|
|||
|
|
|
c = a + b |
|
|||
|
|
|
|
|
|
||
Состояние – совокупность всех свойств данного |
|
TextBox3.Text = Str(c) |
|
||||
|
объекта. |
|
|
|
|||
|
|
|
Button1.BackColor = Color.Red |
|
|||
|
|
|
|
|
|
||
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
181 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
182 |
Кафедра |
|
Классы объектов |
|
Кафедра |
|
Методы объектов |
|
информатики |
|
информатики |
|
||||
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
|
||
Каждый объект класса в ООП обладает |
|
Метод (Method) – это реализованная в классе |
|
||||
набором методов |
|
|
|||||
|
функция или процедура, которая используется |
||||||
|
|
Button1. |
|
||||
|
|
|
для работы с его свойствами. |
|
|||
|
|
|
|
|
|||
|
|
Метод |
|
Метод обрабатывает свойства именно того |
|
||
|
|
|
|
объекта, который вызвал этот метод. |
|
||
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
183 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
184 |
Кафедра |
Методы объектов |
|
|
Кафедра |
Методы объектов |
|
информатики |
|
|
информатики |
|
||
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
|
||
Метод – это некоторое действие (операция), |
|
Доступ к методам, как и к свойствам, возможен с |
||||
|
|
|
|
|||
которое можно выполнять над данным |
|
помощью составных имен, содержащих имя |
|
|||
|
объекта в качестве префикса: |
|
||||
объектом, или команда, которую может |
|
|
||||
|
|
|
|
|||
выполнять объект. |
|
|
<Имя объекта>.<Имя метода> [ (<Список пар-в>)] |
|||
|
|
|
|
|
||
|
|
|
|
Согласно принципам ООП, обращаться к свойствам |
||
В результате этого действия в объекте что- |
|
класса можно только через его методы. |
|
|||
|
|
|
|
|
||
нибудь меняется (например, местоположение, |
|
TextBox1.Show() |
|
|||
|
|
|
|
|
|
|
цвет, значение поля и др.). |
|
|
|
Form1.Hide() |
|
|
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
185 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
186 |
|
Кафедра |
Классы объектов |
|
|
Кафедра |
События (Events) |
|
информатики |
|
|
информатики |
|
||
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
|
||
Каждый объект |
|
|
|
События – сигналы, формируемые внешней |
|
|
класса в |
|
|
|
средой, на которые объект должен |
|
|
ООП |
|
|
|
отреагировать соответствующим образом. |
|
|
обладает |
|
|
|
При наступлении события генерируется |
|
|
набором |
|
|
|
|
||
|
|
|
сообщение. |
|
||
событий, на |
|
|
|
|
||
|
|
|
|
|
|
|
которые он |
|
|
|
|
|
|
может |
|
|
|
|
|
|
реагировать. |
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
187 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
188 |
Кафедра |
События (Events) |
|
Кафедра |
События |
|
|
информатики |
|
информатики |
|
|||
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
|
||
События наступают в результате: |
|
При возникновении события и сообщения о нем с |
||||
- |
каких-либо действий пользователя (перемещен |
помощью обработчика событий производится |
||||
|
курсор, нажата кнопка мыши или клавиша на |
|
его обработка. |
|
||
|
клавиатуре), |
|
Как правило, обработка события приводит к |
|
||
|
|
|
|
|
||
- |
работы программ (например, возникновение |
|
изменению свойств объекта. |
|
||
|
ошибок: деление на нуль, вычисление |
|
Обработчики событий могут обращаться к |
|
||
|
|
|
|
|
||
|
квадратного корня из отрицательного числа и |
методам и свойствам объекта. |
|
|||
|
|
|
|
|
||
|
др.) |
|
|
|
|
|
- работы самих объектов и т.д. |
|
|
|
|
||
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
189 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
190 |
Кафедра |
События |
|
Кафедра |
События |
|
|
информатики |
|
информатики |
|
|||
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
|
||
Для каждого конкретного объекта определено |
|
В заголовке обработчика событий указывается |
|
|||
|
множество событий, на которые он может |
|
имя объекта, для которого он написан и, через |
|||
|
реагировать. |
|
нижнее подчеркивание, название выбранного |
|||
Соответственно, для конкретного объекта могут |
события, в скобках после имени обработчика |
|
||||
записываются параметры. |
|
|||||
|
быть определены обработчики событий, |
|
|
|||
|
|
|
|
|
||
|
которые и определяют реакцию данного |
|
<Имя объекта>_<Имя события> (<Список пар-в>) |
|||
|
объекта на событие. |
|
||||
|
|
|
|
|
||
Например, можно определить реакцию на событие |
Button1_Click (…) Handles Button1.Click |
|||||
|
Click - нажатие на клавишу мыши. |
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
191 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
192 |
Кафедра |
События |
|
Кафедра |
Преимущества ООП |
|
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
||
|
|
|
• |
ООП в наибольшей степени соответствует |
|
|
|
|
|
|
внутренней логике функционирования |
|
|
|
|
|
|
операционной системы (ОС). |
|
|
|
|
|
|
Программа, состоящая из отдельных объектов, |
||
|
|
|
|
отлично приспособлена к реагированию на |
|
|
|
|
|
|
события, происходящие в ОС. |
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
193 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
194 |
Кафедра |
Преимущества ООП |
|
Кафедра |
Преимущества ООП |
|
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
||
• Программа, построенная по принципам ООП – |
• |
Обмен информацией между объектами |
|
|||
это не последовательность операторов, не некий |
|
|||||
|
происходит посредством сообщений. |
|
||||
жесткий алгоритм, а совокупность объектов и |
|
|
|
|||
|
|
|
|
|
||
способов их взаимодействия. |
|
• |
Надежность кода и возможность повторного |
|
||
После запуска таких программ у пользователя |
|
использования отработанных объектов – одно |
||||
|
|
|
|
|||
нет четко определенного пути. Он может в |
|
|
из основных преимуществ ООП. |
|
||
|
|
|
|
|
||
любой момент нажать какую-нибудь кнопку, |
|
|
|
|
|
|
ввести данные текста в соответствующее поле, |
|
|
|
|
||
прекратить обработку и вызвать другую |
|
|
|
|
|
|
программу. |
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
195 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
196 |
Кафедра |
Преимущества ООП |
|
Кафедра |
Интегрированная среда |
|
информатики |
|
информатики |
разработки приложений |
|
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|||
|
|
|
|
|
|
• Для реализации событийного механизма |
|
Приложениями операционной системы принято |
|||
|
называть программы, предназначенные для |
|
|||
управления для каждого объекта (управляющего |
|
||||
работы под управлением данной ОС. |
|
||||
элемента, формы) определен перечень |
|
|
|||
|
|
|
|
||
относящихся к нему событий. |
|
Проект – это разрабатываемое на языке |
|
||
Реакцию на событие можно запрограммировать. |
программирования приложение. |
|
|||
Проект включает в себя формы (окна) с |
|
||||
|
|
|
|
||
Для этого с помощью кода создаются |
|
размещенными на них объектами |
|
||
|
|
|
|
||
процедуры – обработчики событий (событийные |
(компонентами, элементами управления), а |
|
|||
процедуры). |
|
также программные модули событийных |
|
||
|
|
|
процедур, которые описывают поведение |
|
|
|
|
|
объектов и их взаимодействие между собой. |
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
197 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
198 |
Кафедра |
Интегрированная среда |
|
Кафедра |
Интегрированная среда |
|
информатики |
разработки приложений |
|
информатики |
разработки приложений |
|
|
УГАТУ |
|
УГАТУ |
||
Для преодоления трудностей на этапе создания |
Этот набор средств заранее программно |
|
|||
интерфейса широкое распространение получило |
разработан, определен перечень их свойств, |
|
|||
визуальное проектирование интерфейса. |
|
методов и режимов использования. |
|
||
Работа стала производиться в Интегрированных |
Содержатся эти средства в стандартных |
|
|||
Средах Разработки (IDE - ИСР) приложений, |
|
библиотеках. |
|
||
которые предоставляют программисту набор |
|
ИСР предоставляют программисту проект |
|
||
средств для наглядного конструирования |
|
|
|||
|
экранной формы, на которой он может помещать |
||||
интерфейса. |
|
||||
|
различные компоненты, имеющиеся в |
|
|||
|
|
|
|
||
|
|
|
стандартных библиотеках. |
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
199 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
200 |