Visual Basic 7 Объектно-ориентированный язык программирования.

Презентация:



Advertisements
Похожие презентации
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Advertisements

Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
В. Дихтяр ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (для бакалавров) Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 1.Разработка.
Процедуры и функции. Разработал учитель информатики МБОУ СОШ 50 г. Краснодара Ракута Елизавета Григорьевна « Учиться и, когда придет время, прикладывать.
В. И. Дихтяр ИНФОРМАТИКА Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 3Моделирование объектов и процессов и его.
Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Методология объектно- ориентированного программирования.
Обработка исключительных ситуаций Исключительная ситуация (исключение) – это ошибка, возникающая во время выполнения программы. Например, ошибка работы.
Общие процедуры. Модульный принцип построения проекта Visual Basic Автор: Сергиенко Е.В. Учитель информатики МОУ СОШ 5.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
Принципы объектно-ориентированного программирования Объектная модель Наследование Инкапсуляция Полиморфизм.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Полиморфизм Полиморфизм (polymorphism) - последний из трех "китов", на которых держится объектно-ориентированное программирование Слово это можно перевести.
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
С какими алгоритмическими структурами мы познакомились на предыдущих уроках? Достаточно ли их для решения объемных и сложных задач? Предложите способ.
Подпрограммы. Субкомпетенции: 1. Обработка данных с помощью стандартных подпрограмм и подпрограмм, определённых пользователем. 2. Организация передачи.
Компьютерные технологии в метеорологии (Java-технологии) Чукин В. В.
ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) 1.
Тема 1.3. Сервисное программное обеспечение. 1. Понятие операционного окружения Операцио́нное окруже́ние (англ. operating environment) среда, в которой.
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Транксрипт:

Visual Basic 7 Объектно-ориентированный язык программирования

Структурное программирование это метод программирования, опирающийся на структурную организацию программы. Под структурной организацией понимается: 1.Максимальное соответствие организации текста программы логике решаемой проблемы. Основные методы реализации этого принципа: структурируемость и читаемость текста. 2.Типизация и инкапсуляция данных наличие структурных типов данных. В том числе это подразумевает жесткий контроль типов с диагностикой ошибок при трансляции программы. 3.Инкапсуляция кусков текста программы. Блоки программного кода разных уровней, модули, правила прозрачности, интерфейсы между блоками программного кода. 4.Инкапсуляция программного кода и данных во время выполнения программы. Ограничение доступа, правила прозрачности, интерфейсы, диагностика ошибок во время выполнения программы, обработка исключительных ситуаций.

Объектно-ориентированное программирование это метод программирования, основанный на следующих абстракциях данных: 1.Инкапсуляция (encapsulation) данных с процедурами и функциями (данные и методы работы с ними рассматриваются как поля объекта) сочетание принципов типизации и инкапсуляции структурного программирования. 2.Наследование (inheritance) наличие экземпляров класса: потомки, прародители, иерархия. 3.Полиморфизм (polymorphism) единое имя для некого действия, которое по-разному осуществляется для объектов иерархии.

Возможности VB7 Inheritance Inheritance - Наследование свойств Encapsulation Encapsulation - Инкапсуляция данных и методов обработки Overloading Overloading- Перегрузка Polymorphism Polymorphism- Полиморфизм (множественность использования методов) ParameterizedConstructors Parameterized Constructors- Конструкторы объектов с параметрами Web-формы Web-формы - формирование Web-интерфейсов Web-услуги Web-услуги - бизнес-общения через интрасети и Internet

Inheritance Теперь существует новое служебное слово Inherits для извлечения свойств существующих классов: Class1 Function GetCustomer()... End Function Class2 Inherits Class1 Function GetOrders()... End Function Т.е. наследование – это возможность использования свойств и поведения чужого объекта, возможность расширения поведения этого объекта. Можно создать объект Товар, на основе его создать объект Пищевой товар, и Промышленный товар. Оба будут наследовать свойства и поведение от объекта Товар. При этом в любой момент вы можете расширить или изменить поведение наследующего объекта.

Overloading Перегрузка - свойство языка, позволяющее методам обьекта иметь различный смысл в разных ситуациях. Операторы могут вести себя по разному, в зависимости от типов данных, классов или операндов. Например, x+y может означать разные вещи, в зависимости от того, являются ли x и y целыми или структурами. Перегрузка используется в случаях, когда наша объектная модель диктует использование одинаковых имен для процедур, использующих разные типы данных. Например класс может показывать(display метод)различные типы данных. Например: Overloads Sub Display (theChar As Char)... Overloads Sub Display (theInteger As Integer)... Overloads Sub Display (theDouble As Double)

Без перегрузки пришлось бы создавать для каждого типа данных свою процедуру: Sub DisplayChar (theChar As Char)... Sub DisplayInt (theInteger As Integer)... Sub DisplayDouble (theDouble As Double) Например, требуется добавить в обьект Заказ элемент Продукт и элемент Сервис. Легко, добавляем методы AddService и AddProduct в объект Order, и готово. Используя overloading мы можем использовать метод Add для каждого случая, позволяя VB автоматически вызывать правильный метод в зависимости от передаваемых данных.

Polymorphism Возможность использования различными объектами одних и тех же методов, а так же переопределения методов для классов объектов. Пример. Базовый класс Employee. Полиморфизм позволяет определить метод - PayEmployee для любого количества наследующих классов: Hourly, Salaried, Commissioned. Типа обьект Employee – не имеет значения. Метод PayEmployee вернет правильный результат: Class Employee Function PayEmployee() PayEmployee = Hours * HourlyRate End Function Class CommissionedEmployee Inherits Employee Overrides Function PayEmployee() PayEmployee = BasePay + Commissions End Function

Parameterized Constructors Конструкторы позволяют создавать новые образцы класса, одновременно передавая некие аргументы. Конструкторы являются неотъемлемой частью объектно-ориентированного языка программирования - допуская передачу параметров при создании элемента. Это упрощает код - позволяя создавать и инициализировать случаи объектов одной инструкцией (строкой кода)

Web-формы Эта технология подразумевает формирование Web-интерфейсов почти так же, как создаются формы Windows. Используя разнообразные инструментальные средства, специально сгенерированные для поддержания любой версий HTML, и метод "перетащи и оставь", можно будет создавать пользовательский интерфейс на базе Web и писать сервер-ориентированный код для каждого объекта таким же образом, как это делается для форм на базе Windows. Код для Web-форм постоянно находится на сервере, а HTML генерируется "на лету". Элементы управления Web-формами преобразуются в HTML-объекты по мере выполнения кода на сервере. Страница Web Forms состоит из двух частей: шаблона в виде HTML- файла и файла с программным кодом. Такое разделение, в частности, повышает скорость действия программы, так как используется режим выполнения машинного кода (DLL), а не интерпретации.

Web-услуги Это принципиально новая платформно-независимая технология, связанная с использованием стандарта XML и протокола SOAP, которая будет широко интегрирована со средствами разработки. Основная идея заключается в создании компонентов уровня бизнес-логики, взаимодействующих с внешними объектами с помощью стандартных Web-протоколов. В данном случае приложение будет обращаться за выполнением некоторой функции не к DLL или ActiveX DLL, а к компоненту на удаленном компьютере с помощью Интернет-протокола. Выглядит это примерно следующим образом: Разработчик создает проект типа Web Service с названием RatingService, добавляет в него модуль класса с именем ClassComponent и вписывает в него функцию для решения некоторой задачи:

Public Function GetRate (ByVal ticker As String) As String Решаем покупать или продавать акции If ticker = ACME Then GetRate = Покупать! Else GetRate = Продавать! End If End Function При построении проекта с данной функцией VB автоматически сформирует XML-описание этой функции и опубликует его на Web: ticker

Модернизированные возможности языка Free Threading Free Threading- Свободное Создание потоков Structured Exception Structured Exception - Обработчик ошибок путем обработки исключительных ситуаций Type Safety Type Safety - Безопасные типы Shared Members Shared Members - Разделяемые элементы Initializers Initializers - Инициализаторы Overriding Overriding – Изменение методов при наследование

Free Threading Сегодня при создании VB приложений код пишется синхронным. Это означает, что каждая строка кода выполняется последовательно за другой. Для разработки Web приложений, и просто масштабируемых приложений требуется иметь возможность создавать параллельные потоки выполнения Имея под рукой эту возможность, разработчик может обменивать "нити", для выполнения долгоиграющих процедур, таких как сложный запрос к базе данных, или запустить сложные вычисления в асинхронном режиме, позволяя приложению реагировать на действия пользователей. Sub CreateMyThread() Dim b As BackGroundWork Dim t As Thread Set b = New BackGroundWork() Set t = New Thread(New ThreadStart(AddressOf b.Doit)) t.Start EndSub ClassBackGroundWork Sub DoIt() … End Sub End Class Многопоточность - это комплексная концепция. Free-threading базируется на идее иметь возможность выполнять более одного потока в одно время. Например, печать документа в фоне, пока пользователь набирает новый документ. Free-threaded очень важен для создания масштабируемых server-side компонент, так же он может быть полезен и при создании интерактивного user - интерфейса.

Structured Exception Взамен древнего, и нередко абсолютно негибкого On Error Goto выражения, мы имеем новую структуру для обработки ошибок. Это блок, содержащий Try, Catch, Finally ключевые слова. Код между Try и Catch является защищенным, и если ошибка случается выполняется Catch блок. После выполнения Catch блока выполняется код из Finally блока. Собственно, это структура, принятая во всех современных языках. Разработчики были вынуждены включать код обработки ошибок в каждую процедуру и каждую функцию. Существующий Error handling, использующий On Error GoTo может замедлять написание программ и усложнять поддержку. больших приложений. Используя Try...Catch...Finally, мы сможем решить большинство проблем с обработкой ошибок. И, к тому же ничто не помешает использовать старую и новую схему совместно: Sub SEH() Try Open "TESTFILE" For Output As #1 Write #1, CustomerInformation Catch Kill "TESTFILE" Finally Close #1 End try End Sub

Type Safety В VB6 для параметров и аргументов, передаваемых по ссылке компилятор позволял почти любые типы преобразований. Преобразование не проходит в случае, если данные при этом могут быть повреждены или утеряны. Новая опция позволит компилятору генерировать ошибки времени компиляции для любых преобразований типов, которые могут породить проблемы во время выполнения программы. Опция Strict усилит безопасность применения преобразования типов, генерируя ошибки преобразований во всех сомнительных случаях. Visual Basic сегодня преобразовывает типы автоматически. Используя type safety мы сможем заставить VB избегать автоматического преобразования типов. Хотя это заставляет программиста думать перед присвоением переменной одного типа другому, но при этом позволит избежать ошибок.

Shared Members Shared members - это данные и функции классов, которые могут быть использованы совместно всеми образцами данного класса. Подобное разделение требуется в VB приложениях использующих наследование. Разделяемые элементы независимы от любого из примеров данного класса. Они не похожи на стандартные методы класса и не передаются непосредственно в экземпляр класса. Из за этого никаких ссылок на не разделяемые элементы такие методы не поддерживают. Public shared members могут быть доступны "извне" класса, и они могут быть задействованы изнутри класса с помощью позднего связывания.

Initializers - Инициализаторы Visual Basic 7 поддерживает инициализацию переменных в одной строке с объявлением. Инициализация может быть использована в любом месте, включая код внутри структур. Сделано это может быть например так: Dim X As Integer = 1 В предыдущей версии: Dim X As Integer X = 1

Overriding Когда мы используем наследование, наш новый класс получает все методы от родительского класса. Однако может быть необходимым изменить какие либо из этих методов. Мы можем переписать эти методы используя Overriding. В тоже время VB7 будет позволять им использовать и оригинальный метод родительского объекта, используя ключевое слово MyBase (MyBase.methodname).

Заключение Поколение Visual Basic 7 предоставит первоклассные возможности объектно- ориентированного языка, включающие наследование, инкапсуляцию и полиморфизм. Дополнительно, разработчики смогут создавать максимально гибкий код с использованием потоков. Написанный код будет хорошо поддерживаться, учитывая появление нового механизма обработки ошибок. Visual Basic 7 предоставляет прекрасные возможности для создания мощных, масштабируемых Web приложений.