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

Slides:



Advertisements
Similar presentations
EXtreme Programming XP Тема 3. XP Пусть есть некоторая информационная система для банков. В качестве основной валюты для расчетов используется доллар,
Advertisements

Предметно-ориентированные языки и Lisp как средство их построения Дмитрий Бушенко 30.
Схема распределения грантов городам-участникам программы Тасис (TCAS) Экологические гранты для муниципалитетов.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 4. Реализация ПО: Проектирование с повторным использованием компонентов.
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
ООО «Баркод Маркет».  Инвентаризация имущества – программная система, позволяющая организовать учет любого имущества компании.  Уменьшение неконтролируемых.
R1R2R3R4R5R6R7R1R2R3R4R5R6R7. Аксиома R 1. В пространстве существуют плоскости. В каждой плоскости пространства выполняются все аксиомы планиметрии.
Астащенко Александр, 445 группа Научный руководитель: В.Г.Шистеров.
Некомпенсаторное агрегирование и рейтингование студентов Авторы: Гончаров Алексей Александрович, Чистяков Вячеслав Васильевич. НФ ГУ ВШЭ 2010 год.
ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ КЛАССА LEARNING MANAGEMENT SYSTEM И ОПЫТ ЕЕ ИСПОЛЬЗОВАНИЯ НА ФАКУЛЬТЕТЕ МЕНЕДЖМЕНТА Афанасьева С.В. Кафедра бизнес-информатики.
Неотрицательное решение задачи Коши. Нередко постановка задачи требует чтобы фазовые переменные принимали лишь неотрицательные значения. Так, в физических.
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Учитель математики Кулакова Т.М. МОУ ООШ №15 г.о Новокуйбышевск Самарской области Сентябрь 2011г.
Что за хулиган толкает пассажиров автобуса то вперед, то назад? Этот хулиган, вернее, хулиганка -
Создание сервиса синхронизации разнородных баз данных Допущена к защите зав. кафедрой: д.ф.м.н., профессор Терехов А.Н. Научный руководитель: доцент Графеева.
ООП Классы – 2. Ссылки Ссылка – еще одно имя объекта. Используйте ссылки вместо указателя. Это более безопасно. Complex c(10,10); Complex c2& = c; c2+=10;
Блок 3. Семейства белков I. Множественное выравнивание Первый курс, весна 2008, А.Б.Рахманинова.
Особенности Java. Блок static static { } Создание и уничтожение объектов  new – создание объекта  finalyze()
Язык JavaScript Скриптовый язык для выполнения на html-страницах.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
InfoPath 2003 Выполнил: студент группы И-102 Пилипчук С.Н. Научный руководитель: Ильина О.П. Санкт - Петербург 2005г.
Разработка геоинформационной системы (ГИС) для системы телекоммуникаций (СТ) «Ботик» Кузнецов А.А., Гумин М.В. ИПС РАН, Переславль-Залесский 2004.
1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.
Введение в параллельные вычисления. Технология программирования MPI (день седьмой) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных.
Язык SmallTalk «Чистый» объектно- ориентированный язык.
Анатомия класса. Схожесть с др. языками   С# похож на язык Java в том, что он требует, чтобы вся программная логика была заключена в определения типов.
Программирование на стороне сервера. Языки для программирования на стороне сервера Языки программирования: Perl PHP Java Технология Microsoft для использования.
Growing Neural Gas Method Нейросетевой метод построения неструктурированных адаптивных сеток.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
Поиск ошибок в программах на языке Ruby с использованием вывода типов Санкт-Петербург, 2008г. Выполнил: Шпынов Олег, 545 гр. Научный руководитель: Ломов.
 Нужно много различных протоколов связи  Каждый из них может реализовываться на разных платформах Современные сети Много устройств, компьютеров и сетей.
PHP как язык программирования. Типы данных логические величины int, integer – целые числа real, double, float – вещественные числа string – строки array.
"The European Molecular Biology Open Software Suite"
EDCWiki Electronic Document Circulation using wiki Система электронного документооборота на основе wiki Участники: Кузьмин К.А., Цыцулин В. И. Руководитель:
1 Влияние машинной архитектуры Структура и принципы работы компьютера На разрабатываемый язык программирования машинная архитектура влияет двояко: –непосредственно.
ВЫЧИСЛЕНИЕ В ЛИСПЕ Функциональное программирование Григорьева И.В.
Синтаксис языка Java.
Пользовательские действия (custom actions) в JSP. JSTL.
Особенности языка JavaScript и его использования.
Увеличение модульности программного обеспечения на языке Java Курсовая работа студента 345 группы Абишева Тимура Маратовича Научный руководитель: Профессор.
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Наследование и полиморфизм. «Быть» или «Иметь» а так же «Точно» или «Как получится»
Анализ и Проектирование качественных приложений Презентация по книге Крэга Лармана.
Зарубежные издания В вашей библиотеке ™ SERVICE BY.
Проект «Безопасный браузер» Визовитин Николай Кадашев Дмитрий.
Формы в HTML. Элемент FORM Элемент уровня «блок» Управляющие элементы Просто текст Атрибуты: action – url обработчика method – post или get enctype –
Объектно-ориентированное проектирование DSP-систем в телекоммуникациях Подготовил: Сергеев Виктор Николаевич СПбГУ, математико-механический Факультет,
Формализованы ли цели? Устраивает ли вас команда? Каковы этапы процесса? Изменение ИТ структуры? Нужны подрядчики? 1.
Обработка исключений Гудов А.М., Завозкин С.Ю
XML - расширенный язык разметки Моисеевой О. Макушиной Д. (eXtensible Markup Language)
«Интернет радио» Разработчик Демидко А.А. Преподаватель Бронштейн М.Е.
TMG Tel: 8 (495) Fax: 8 (477) Technology Management Group ООО «TMG» PayKeeper.
Перенос технологии REAL-IT на платформу Microsoft.Net Нестеров Антон Научный руководитель: Иванов А.Н. Рецензент: Серебрякова Г.М.
Множественное выравнивание С.А.Спирин, весна
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
XML Схемы XML документов. XML Schema созданая Microsoft позволяет избавиться от DTD блоков. Основа – использование пространств имен и очень точная типизация.
Санкт-Петербургский Государственный Университет Экономики и Финансов
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
1 R E F R I G E R A T I O N A N D A I R C O N D I T I O N I N G Как обновить программное обеспечение в AK-SC 255.
Writing Friendly Letters A Write On Activity. Friendly letters have five parts: 1. The Heading 2. The Salutation (greeting) 3. The Body (some paragraphs)
КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT В УКРАИНЕ Metro приложения: работа с данными Краковецкий Александр, MVP/RD/PhD. DevRain Solutions.
Saint Petersburg, 2011 Java Lecture Generics. Quiz ArrayList lst = new ArrayList(); Collection c = lst; lst.add("one"); lst.add(“two"); lst.add(“three");
Visual Basic.NET Preview David Stevenson Consulting Software Engineer, ABB
Anekdot ANDROID CLUB Сегодня  Navigation Drawer  CardView  Calligraphy  TextToSpeech.
Jokes Jokes Jokes Teacher: Where's your text book? Student: At home. Teacher: What's it doing there? Student: Having a.
JavaScript
Сергей Копорулин | Эксперт по технологиям | Microsoft
ASP.NET 4 Сергей Байдачный специалист по разработке ПО
Сортировка, поиск и фильтрация данных в базе данных и выборках
Presentation transcript:

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 приложений.