- •Понятие процедур, функций, операторов, переменных
- •Переменные
- •Принципы и правила выбора имен для переменных
- •Типы переменных (данных)
- •Числовой тип
- •Строковый тип (текстовая строка)
- •Тип Date (дата)
- •Логический тип
- •Произвольный тип
- •Объектный тип
- •Создание переменных
- •Объявление переменной (variable declaration)
- •Требование явного объявления переменных. Область действия переменных. Константы. Правила написания констант. Операции и знаки операций Требование явного объявления переменных
- •Присваивание переменной (assigning the variable)
- •Область действия или видимости (scope - скауп) переменных
- •Использование переменных с одним и тем же именем в различных уровнях области действия
- •Правила того, как долго переменные удерживают свое значение
- •Константы
- •Создание именованных констант
- •Область действия констант
- •Написание констант
- •Операции и знаки операций
- •Получение приоритета:
- •Преобразование типов данных. Процедуры и функции. Типы операторов. Состав проекта Назначение типов данных
- •Преобразование типов данных
- •Преобразование числовых типов данных
- •Строковые переменные
- •Строки изменяемой и фиксированной длины
- •Преобразование числовых данных в строковые
- •Форматирование данных
- •Процедуры и функции
- •Аргументы
- •Примеры процедур
- •Функции
- •Обзор типов операторов
- •Операторы объявления
- •Операторы присваивания (инициализации)
- •Выполняемые операторы
- •Параметры компилятора
- •Состав проекта
- •Массивы. Классы объектов. Характеристики объектов. Объектная модель. Окно просмотра объекта. Комментарии. Управление потоком Массивы
- •Статические массивы
- •Динамические массивы
- •Пример работы с массивом
- •Классы объектов
- •Наследование
- •Полиморфизм
- •Инкапсуляция
- •Семейства объектов
- •Объектная модель
- •Использование Окна просмотра объектов
- •Замечания о комментариях
- •Управление потоком
- •Управление потоком (продолжение). Условные переходы. Циклы. Оператор With. Немедленный выход с помощью оператора Exit For Оператор Go to Примеры работы с двоичной логикой
- •Операторы условного перехода:
- •Оператор условного перехода If…Then
- •Пример использования условного перехода If…Then
- •Оператор условного перехода If…ElseIf
- •Оператор Select Case
- •Операторы циклов:
- •Повторение под управлением цикла For…Next
- •Пример вложенных циклов For…Next
- •Важные замечания по поводу циклов For…Next
- •Использование оператора цикла For Each… Next
- •Циклы Do…Loop
- •Типы оператора цикла Do…Loop
- •Пример оператора Do While (условие) Loop
- •Использование оператора Do …Until Loop (условие)
- •Использование оператора With
- •Использование оператора Is
- •Немедленный выход с помощью оператора Exit For
- •Управление потоком с помощью оператора Go To
- •«Ввод-вывод данных. Системные функции InputBox и MsgBox» Функции InputBox и MsgBox
Наследование
Наследование - это способность объекта сохранять атрибуты класса-родителя. Например, созданный объект формы наследует свойства и методы своего класса: свойства Caption, Border Style, методы Load, Hide, Show и т. п.
Чтобы создать новый объект, следует указать его принадлежность к некоторому классу, а затем воспользоваться оператором New. При этом новый объект будет наследовать свойства и методы класса-родителя. Например, чтобы создать новое диалоговое окно нужно объявить объект с типом данных соответствующего класса, а затем провести его инициализацию, используя для этого оператор Set, а для привязки нового объекта к классу диалогового окна - оператор New:
Dim dlgМоиФото As clsDialog
Set dlgМоиФото = New clsDialog
Полиморфизм
Объекты, как описано выше, могут быть производными от других объектов. Новый объект наследует методы и свойства объекта-родителя.
Полиморфизм – это способность объекта принимать различные формы. Полиморфизм же позволяет добавлять, видоизменять и даже удалять некоторые характеристики производного объекта. При этом можно создавать не только новый объект, но и новый класс объектов.
Инкапсуляция
Инкапсуляцией называется механизм, благодаря которому данные и объекты скрываются от внешнего мира. Это одна из самых важных сторон объектно-ориентированного программирования.
В VB инкапсуляцию обеспечивает оператор Private (локальный). Он запрещает доступ к программным модулям со стороны других форм и модулей.
Локальность исключает случайное внесение ошибок из других программ (со стороны других программистов).
Семейства объектов
Семейство (Collection) – это VB-объект специального назначения. Семейства предназначены для упрощения работы с набором объектов, когда этот набор нужно использовать как единое целое. Например, объекты формы хранятся вместе в одном файле. В VB вся группа объектов в форме называется набором
Controls (средства управления). Этот набор создаётся автоматически при открытии формы и пополняется при добавлении объектов в форму. Каждая форма имеет собственный набор Controls, что можно записать, как Form1.Controls.
При этом каждый объект в семействе (наборе) может быть обозначен либо непосредственно (Знак восклицания означает привязку объекта Label1 к набору Controls.)
Form1.Controls!Label1.Caption = "Результат"
или как элемент массива, с присвоением каждому из объектов набора индексного номера, в частности, Label1 как объект с индексом "2":
Form1.Controls(2).Caption = "Результат"
При этом индекс "0" присваивается самому последнему объекту в группе (0, 1, 2, …)
Примерами наборов (Collection) объектов являются, например: Shapes, Printers и т. п.
Объектная модель
Как показано выше, кроме обладания своими собственными свойствами, методами и событиями, объекты высших ступеней иерархии служат в качестве контейнеров для одного или целого множества подчиненных объектов.
Эти вложенные объекты содержат в свою очередь другие объекты (тоже являясь контейнерами) и т. п. Вся система таких иерархических отношений в VB называется объектной моделью, и, соответственно, каждый из объектов имеет свой собственный набор свойств, методов и событий.
Ввиду того, что для VB придется сообщать, какой конкретный объект нужен вам для работы, очень важным для эффективной работы в нем оказывается понимание объектной модели приложения, т. к. тогда очень легко проследить цепочку объектов, которой принадлежит ваш объект.
Для обозначения объекта в объектной модели используется объектное выражение. Объектное выражение представляет собой фрагмент программного кода, "указывающий" на конкретный объект. С помощью правильно построенного объектного выражения можно изменять свойства объекта, вызывать его методы или присвоить объект переменной.
Свойство какого-либо объекта может тоже быть объектом. Например, если объект содержит подчиненные объекты, то любой подчиненный объект можно идентифицировать посредством свойства первого объекта. Выражение, которое используется для указания нужного свойства, является объектным выражением.
Например, объектное выражение, характеризующее свойство:
ObjМузыка.Джаз(5).Воспроизведение
В этом выражении не одна, а две точки. Воспроизведение является свойством объекта Джаз, который в свою очередь является свойством объекта Музыка.
Первая часть указанного выше выражения Музыка. Джаз – это идентификация конкретного семейства Джаз, принадлежащего объекту Музыка. После этого можно идентифицировать конкретный член семейства Джаз – Джаз (5), что является ссылкой на 5-й раздел семейства.
Завершающая часть выражения - Воспроизведение – это свойство семейства Джаз, и конкретным значением этого свойства является объект Воспроизведение.
Таким образом, все выражение обеспечивает ссылку на этот объект.
Использование выражения, указывающего путь к конкретному объекту, называется "получением объекта".
Печатать длинные объектные выражения достаточно трудоемко, даже когда они понятны, поэтому если в программе один и тот же объект встречается несколько раз, для него создают переменную, в которой будет храниться ссылка на этот объект. Тогда вместо объектного выражения достаточно напечатать только имя объектной переменной.
Использование объектной переменной:
-
ускоряет выполнение программного кода;
-
делает код более гибким.
Процесс создания объектной переменной разбивается, как и создание обычной переменной, на два этапа:
-
объявление переменной, которая будет использоваться для ссылки на объект:
Dim objСаксофон As Object
-
инициализация переменной как ссылки на объект, с которым в дальнейшем необходимо будет работать, с указанием типа объекта.
Присвоение значения объектной переменной осуществляется с помощью ключевого слова Set, например:
Set objСаксофон = objМузыка.Джаз(5).Воспроизведение
т. е. синтаксис при этом несколько отличается от присвоения данных обычным переменным, т. к. используется ключевое слово Set.
Когда доступ к объекту уже не нужен, следует освободить объект от привязки к переменной. В результате этого программа может использовать освободившийся участок памяти.
Set objСаксофон = Nothing