- •Позиционные системы счисления
- •Смешанные системы счисления
- •Системы счисления разных народов Древнеегипетская система счисления
- •Римская система счисления
- •4. Логические (функциональные) схемы
- •Виды высказываний
- •История
- •[Править]Централизованные вычисления
- •[Править]Конструкторы и самодельные компьютеры
- •[Править]Первые фирменные домашние пк
- •[Править]Amiga и Macintosh
- •[Править]Windows 95, мультимедийные возможности пк
- •[Править]Один компьютер — один хозяин
- •[Править]Продажи во всём мире
- •[Править]Отечественные персональные компьютеры
- •Разновидности устройств ввода
- •1.2 Устройства ввода-вывода
- •Информация ввод вывод интерфейс
- •Устройства ввода текста, графики и команд
- •Клавиатура
- •Плазменные мониторы
- •Классификация по
- •Системное по Прикладное по Инструментальное по
- •Операционные системы
- •[Править]Функции ос
- •[Править]Понятие операционной системы
- •[Править]Основные идеи ос
- •[Править]Встроенные программы
- •[Править]Утилиты
- •[Править]Утилиты используются для
- •[Править]Типы утилит
- •[Править]Системы программирования
- •[Править]Системы управления базами данных
- •16 Системы программирования
- •Классификация По типу
- •По сфере применения
- •19 История компьютерной вирусологии
- •Создание вирусов и его причины
- •[Править]Каналы
- •-Профилактические меры, позволяющие уменьшить вероятность заражения вирусом;
- •1. В сфере оборота компьютерной информации:
- •3. В сфере информационного оборудования:
- •4. В сфере защиты охраняемой законом информации:
- •5. В сфере информационных правоотношений:
- •6. В сфере экономики и компьютерной информации:
- •Графические интерфейсы и расширения для dos
- •Семейство Windows 9x
- •[Править]Семейство Windows nt
- •Интегрированные программные продукты
- •Основные стандартные утилиты Windows xp (программы из группы стандартные)
- •Классификация файловых систем
- •Задачи файловой системы
- •27 Окна Windows
- •Диалоговые окна
- •Управление меню
- •Обозначения, принятые в меню
- •Главное меню
- •Контекстное меню
- •Строка меню окна
- •Системное меню
- •История
- •Состав программного продукта
- •Виды баз данных
- •[Править]Классификация по модели данных
- •[Править]Классификация по среде постоянного хранения
- •[Править]Классификация по содержимому
- •[Править]Классификация по степени распределённости
- •[Править]Другие виды бд
- •37 Работа с базой данных на примере программы "Аксес" ("Access")
- •Разработка базы данных
- •История
- •Основы алгоритмизации
- •43 Понятие о системе программирования
- •46 Ооп. Давайте знакомиться
- •Объект - Черный ящик
- •Создание, жизнь и смерть объектов
- •Переопределение (перегрузка) методов
- •Наследование
- •1.3. Выражения и операции.
- •1.4. Операторы
- •50 Функции ввода и вывода
- •0 2 4 6 8 10
- •Технологии повлиявшие на развитие компьютерных сетей
- •Системы пакетной обработки
- •Многотерминальные системы — прообраз сети
- •Первые глобальные компьютерные сети
- •Первые локальные компьютерные сети
- •Компьютерные сети сегодня
- •Классификация [править]По территориальной распространенности
- •[Править]По типу функционального взаимодействия
- •Достоинства
- •[Править]Недостатки
- •Достоинства
- •[Править]Недостатки
- •Достоинства
- •[Править]Недостатки
- •История
- •Особенности Интернета
- •Система адресации в интернет
- •Что ищем?
- •[Править]Где ищем?
- •[Править]Как ищем?
- •Протоколы получения почты
- •[Править]pop3
- •[Править]imap
- •[Править]Различия
- •Введение
- •[Править]Устройство
- •[Править]Опции
- •Структура и принципы Всемирной паутины
- •59 Влияние компьютера на организм человека.
- •60 Эргономика рабочего места
Переопределение (перегрузка) методов
Скажу несколько слов о такой "полезной вещи" как перегрузка (переопределение) методов (methods overloading) - в русскоязычной литературе принят дословный перевод - перегрузка, но лично я предпочитаю говорить - переопределение, что снимает множество вопросов новичков. Что это такое? Это возможность создать несколько вариантов одного и того же метода, отличающихся набором параметров. В качестве примера используем конструктор нашего любимого класса "Черный ящик". Например в одном случае мы хотим сразу же при создании нового экземпляра класса (черного ящика) вырезать название и поместить в него содержимое, а в другом случае мы хотим только вырезать при создании ящика его название, а содержимое поместить потом. В данном случае, какой путь вы изберете, не принципиально, а зависит только от вашего желания и удобства в каждом конкретном случае.
Public Sub New(ByVal NewName As String)
mBoxName = NewName
End Sub
Public Sub New(ByVal NewName As String, ByVal NewContent As String)
mBoxName = NewName
mBoxContent = NewContent
End Sub
Теперь при создании экземпляра класса можно использовать любой из двух конструкторов.
Dim myBlackBox As BlackBox = New BlackBox("Мой персональный черный ящик")
MessageBox.Show(myBlackBox.Name)
Dim myBlackBox As BlackBox = New BlackBox("Мой персональный черный ящик", "Прошлогодние газеты")
MessageBox.Show(myBlackBox.Name)
Это справедливо для любого метода (Function или Sub), при этом возвращаемое значение тоже может быть разным.
Public Function OpenBox(ByVal DropContent As Boolean) As Boolean
Dim isSomethingThere As Boolean
...
Return isSomethingThere
End Function
Public Function OpenBox() As Boolean
Dim isSomethingThere As Boolean
...
Return isSomethingThere
End Function
Public Function OpenBox(ByVal WhatToAdd As String) As String
...
Return BoxContent
End Function
Но, учтите, что функции должны отличаться параметрами, только тогда переопределение происходит, иначе компилятор выдаст ошибку, если вы определите для одинаковые функции отличающиеся лишь типом возвращаемого значения. На практике этого и не нужно, так как значение можно преобразовать. Также, я должен сказать, что существует способ визуально выделить перегруженные (перегружаемые) методы, добавив к определению каждого ключевое слово Overloads.
Public Overloads Function OpenBox(ByVal DropContent As Boolean) As Boolean
Dim isSomethingThere As Boolean
...
Return isSomethingThere
End Function
Public Overloads Function OpenBox() As Boolean
Dim isSomethingThere As Boolean
...
Return isSomethingThere
End Function
Public Overloads Function OpenBox(ByVal WhatToAdd As String) As String
...
Return BoxContent
End Function
Если вы используете ключевое слово Overloads хотя бы в одном определении функции, то вы должны использовать его во всех остальных. Зато, просматривая код в будущем, вы сразу же найдете перегруженные (переопределенные) методы.
Наследование
Так, хорошо, теперь у нас есть готовый класс. Что же еще интересного нам позволяет сделать концепция ООП? Например, мы можем создать новый класс основываясь на этом, как бы унаследовав все его свойства и методы. Таким образом, чтобы написать новый класс нам не придется заново писать код всех методов и свойств, достаточно только внести некоторые изменения в существующий. Но, прежде чем наследовать новые классы, нужно сделать несколько изменений в существующем классе и определить, какие методы могут быть изменены (переопределены, опять!) в производном классе (derived). Пожалуй, хватит мучить наш "Черный ящик", пусть он немного отдохнет, а мы создадим новые классы, один назовем родителем (Parent), а другим дочерним (Child). Для наследования используется ключевое слово Inherits, а для того, чтобы пометить методы как переопределяемые, используется ключевое слово Overridable.
Public Class Parent
Public Function Method() As String
Return "Parent -> Method"
End Function
Public Overridable Function OverridableMethod() As String
Return "Parent -> OverridableMethod"
End Function
End Class
Public Class Child
Inherits Parent
Public Overrides Function OverridableMethod() As String
Return "Child -> OverridableMethod"
End Function
End Class
Кстати, в Visual Studio, послетого как вы создадите наследованный класс, вам не придется заново набирать определение переопределяемых методов в производном классе - достаточно выбрать метод из выпадающего списка Overrides методов (в окне редактирования кода). Посмотрим как работают созданные нами классы, заодно убедившись в правоте всех вышесказанных слов.
Dim myParent As Parent = New Parent()
Dim myChild As Parent = New Child()
MessageBox.Show(myParent.Method()) ' отобразит Parent - > Method
MessageBox.Show(myChild.Method()) ' отобразит Parent - > Method
MessageBox.Show(myParent.OverridableMethod()) ' отобразит Parent - > OverridableMethod
MessageBox.Show(myChild.OverridableMethod()) ' отобразит Child - > OverridableMethod
47Графический интерфейс. Системы объектно-ориентированного программирования позволяет визуализировать процесс создания графического интерфейса разрабатываемого проекта, т.е. позволяют создавать объекты и устанавливать значения свойств с помощью диалоговых окон системы программирования.
Графический интерфейс необходим для реализации интерактивного диалога пользователя с запущенным проектом. Основой для создания графического интерфейса разрабатываемого проекта является форма, которая представляет собой окно, на котором размещаются элементы управления. Необходимо отметить, что графический интерфейс проекта может включать в себя несколько форм.
! |
Форма – это объект, представляющий собой окно на экране, в котором размещаются элементы управления. |
Визуальное конструирование графического интерфейса проекта состоит в том, что на форму с помощью мыши помещаются и «рисуются» те или иные элементы управления.
Классы элементов управления имеют различное назначение в графическом интерфейсе проекта. Текстовые поля, надписи и списки обычно используются для ввода и вывода данных, графические окна – для вывода графики, командные кнопки, переключатели и флажки для организации диалога и т.д.
На форму может быть помещено несколько экземпляров одного класса элементов управления. Например, несколько кнопок, каждая из которых обладает индивидуальными значениями свойств (надпись, размеры и др.).
! |
Элементы управления – это объекты, являющиеся элементами графического интерфейса проекта, и реагирующие на события, производимые пользователем или другими программными объектами. |
Форма и элементы управления обладают определенными наборами свойств, методов и событий.
Событийные процедуры. Для каждого события можно запрограммировать отклик, т.е. реакцию объекта на произошедшее событие. Если пользователь производит какое-либо воздействие на элемент графического интерфейса (например, щелчок), в качестве отклика выполняется некоторая последовательность действий (событийная процедура).
Каждая событийная процедура представляет собой отдельный программный модуль, который реализует определенный алгоритм. Создание программного кода событийной процедуры производится с использованием алгоритмических структур различных типов (линейная, ветвление,выбор и цикл).
Имя процедуры включает в себя имя объекта и имя события.
Объект_Событие()
! |
Событийная процедура представляет собой подпрограмму, которая начинает выполняться после реализации определенного события. |
48 Алфавит языка Visual Basic
Алфавит - это полный набор букв, цифр и символов, принятых в языке для обозначения данных и действий над ними.
Алфавит языка Visual Basic включает следующий набор символов:
- прописные (A - Z) и строчные (а - z) буквы латинского алфавита;
- цифры от 0 до 9;
- знаки арифметических операций (в порядке возрастания приоритета): +, -, *, /, |, ^;
- знаки операций отношения: =, <, >.
- знаки препинания и разделители: , . : ; ( );
В алфавит языка входят также зарезервированные слова, которые не могут быть использованы в качестве имен переменных или процедур. Примеры зарезервированных слов: Dim, Sub, Integer и т.д. По умолчанию для выделения ключевых слов в окне редактирования кода Visual Basic используют шрифт синего цвета.
Данные
Данные - это возможные структуры языка, над которыми выполняются разрешенные действия (операции): константы, переменные и массивы. По способности к изменению все данные делятся на переменные и константы.
Переменная - это величина, которая может меняться при выполнении программы.
Константа - величина, не меняющаяся в процессе работы. Примером константы может быть число .
49 Типы переменных.
В Visual Basic различают переменные следующих типов.
Тип |
Хранимая информация |
Объем занимаемой памяти (байт) |
Диапазон значений |
Integer |
Целые числа |
2 |
От –32768 до 32767 |
Long |
Целые числа |
4 |
Приблизительно |
Single |
Десятичные числа |
4 |
+/- 2.1Е9 |
Double |
Десятичные числа (двойной точности с плавающей точкой) |
8 |
От – 3.402823Е38 до - 1.401298Е-45 для отрицательных значений и от 1.401298Е-45 до 3.402823Е38 – для положительных |
Currency |
Числа, имеющие до 15 цифр перед десятичной точкой и до 4 цифр после нее |
8 |
От –1.79769313486232Е308 до – 4.9406564584124Е-324 для отрицательных и от 4.9406564584124Е-324 до 1.79769313486232Е308 для положительных |
String |
Текстовая информация |
1 на каждый символ |
До 65 тыс. символов для строк фиксированной длины и до 2 млрд. символов для динамических строк |
Byte |
Целые числа |
1 |
От 0 до 255 |
Boolean |
Булевы значения |
2 |
True(истина) или False(ложь) |
Date |
Информация о дате и времени |
8 |
От 1-го января 100 года до 31-го декабря 9999 года |
Object |
Ссылки на рисунок или любой другой объект |
4 |
Не определен |
Variant |
Значения любого из вышеперечисленных типов данных |
16+1 на каждый символ |
Не определен |
В отличие от других языков программирования Visual Basic не требует объявлять переменные перед их использованием. В случае, если переменная не объявлена, Visual Basic использует тип данных, заданный по умолчанию Variant (произвольный).
Однако правилом хорошего тона считается все-таки объявление переменной в начале процедуры.
– Dim VarName [As VarType] [,VarName 2[As VarType 2]]
– Private VarName [As VarType] [,VarName 2[As VarType 2]…]
– Static VarName [As VarType] [,VarName 2[As VarType 2]…]
– Public VarName [As VarType] [,VarName 2[As VarType 2]…],
где VarName – имя переменной,
VarType – тип переменной.
Определение: Переменные, доступные в любой процедуре, форме или модуле программы, называются глобальными.
Для создания глобальной переменой необходимо поместить оператор объявления переменной Public в раздел объявлений модуля.
Определение: Переменные, доступные только в пределах той процедуры, в которой они объявлены, называются локальными.
Константы
Visual Basic предлагает целый ряд констант. Существуют константы для определения цветовых наборов, типов доступа к данным, кодов клавиш и пр. Все константы в VB имеют префикс VB, например vbActiveTitleBar.
Чтобы узнать конкретное значение какой-либо из констант необходимо вызвать Object Browser при помощи кнопки на панели инструментов.
Кроме стандартных констант Visual Basic предоставляет возможность пользователю самому создать свои собственные константы:
Const name [As Type] = Value