ООП   ОСВМ   PHP   алгоритмизация   СУБД   WEB   БДИ   ЯиМП   3GL   4GL   5GL   ММТ   ТПОИ   ТП
(преподаватель: к.т.н. К.А. Хайдаров)

Объектно-событийное программирование (ООП-2)

  1. Основные понятия ОСП
  2. Распределенные системы
  3. Основные понятия СОП
  4. Операционные системы реального времени
  5. Основы SCADA-систем и их программирования
  6. Платформы ООП
  7. Инструметальное ПО
  8. Объектно-ориентированные языки
  9. Объекты виртуальных сред
  10. ООП программирование на C++
  11. Глоссарий по ООП
  12. Литература по ОСП

         Midterm Exam (17x3)
         Вопросы к экзамену, 3 курс (20 x 3)
         Пример оформления СРС (Oracle)
         Пример оформления презентации

История возникновения ОСП

Объектно-ориентированное программирование (ООП) - это метод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта. Объединение данных и свойственных им процедур обработки в одном объекте, называется инкапсуляцией и является одним из важнейших принципов ООП.

Другим фундаментальным понятием является класс.

Класс - это шаблон, на основе которого может быть создан конкретный программный объект, он описывает свойства и методы, определяющие поведение объектов этого класса. Каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.

Следующими важнейшими принципами ООП являются наследование и полиморфизм.

Наследование - такая организация классов, которая предусматривает создание новых классов на базе существующих и позволяет классу потомку иметь (наследовать) все свойства класса – родителя.
Полиморфизм - означает, что рожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, в каком месте цепочки (дерева классов) они находятся, иными словами это концепция, реализующая "множество методов в одном интерфейсе".

Другим важнейшим принципом ООП является модульность.

Модульность - это такая организация объектов, когда они заключают в себе полное определение их характеристик, никакие определения методов и свойств не должны располагаться вне его, это делает возможным свободное копирование и внедрение одного объекта в другие.

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

Событие в объектно-ориентированном программировании - это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий. События предназначены для того, чтобы иметь возможность предусмотреть реакцию программного обеспечения. Для решения поставленной задачи создаются обработчики событий: как только программа попадает в заданное состояние, происходит событие, посылается сообщение, а обработчик перехватывает это сообщение. В общем случае в обработчик не передаётся ничего, либо передаётся ссылка на объект, инициировавший (породивший) обрабатываемое событие. В особых случаях в обработчик передаются значения некоторых переменных или ссылки на какие-то другие объекты, чтобы обработка данного события могла учесть контекст возникновения события. Самое простое событие - это событие, сообщающее о начале или о завершении некоторой процедуры. Событие, по сути, сообщает об изменении состояния некоторого объекта. Наиболее наглядно события представлены в пользовательском интерфейсе, когда каждое действие пользователя порождает цепочку событий, которые, затем обрабатываются в приложении. В объектно-ориентированном анализе для описания динамического поведения объектов принято использовать модель состояний. Событие - это переход объекта из одного состояния в другое. Взаимодействие объектов также осуществляется при помощи событий: изменение состояния одного объекта приводит к изменению состояния другого объекта, а событие оказывается средством связи между объектами. Событие - это <абстракция инцидента или сигнала в реальном мире, который сообщает нам о перемещении чего- либо в новое состояние>. Далее, выделяются четыре аспекта события:
  • метка - уникальный идентификатор события.
  • значение - текстовое сообщение о сути произошедшего.
  • предназначение - модель событий, которая принимает событие.
  • данные - данные, которые переносятся от одного объекта к другому.

Первый ряд примеров событий доставляет собственно сам жизненный цикл объекта:

Более сложные примеры событий возникают тогда, когда у объекта появляются внутренние состояния, которые описываются соответствующей диаграммой переходов (из одного состояния в другое).

Современными языками объектно-ориентированного программирования являются С++ и Java. С середины 90-х годов многие объектно–ориентированные языки реализуются как системы визуального программирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно – ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Applications) – язык приложений Microsoft Office (Excel, Word, Access, Power Point и др). VBA соблюдает основной синтаксис языка и правила программирования языков Basic – диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

Целью курса является дать представление студентам об основных принципах объектно-ориентированного программирования на различных языках. Основной задачей курса является подготовка специалистов, владеющих современными методами и средствами разработки алгоритмов и программ, знающих современную технологию программирования и умеющих применять ее при решении сложных прикладных задач. Курс лекций расчитан на студентов, имеющих подготовку по информатике и программированию на языке С.

Лабораторные работы

  1. Объектно-ориентированное программирование на PHP
  2. Объектно-ориентированное программирование для начинающих
  3. Лабораторная работа, часть 1 по ООП на PHP
  4. Лабораторная работа, часть 2 по ООП на PHP
  5. Лабораторная работа, часть 3 по ООП на PHP
  6. Лабораторная работа, часть 4 по ООП на PHP
  7. Лабораторная работа 1 по Adobe Flash: Создание видеоролика
  8. Лабораторная работа 2 по Adobe Flash: Вставка Flash-объекта в html-файл
  9. Внедрение объектов в HTML
  10. Пошаговое руководство по созданию Flash-сайта в MotoCMS
  11. ООП в JavaScript. Лабораторная работа 1
    Основные понятия и определения: объект, метод, свойства, события
  12. ООП в JavaScript. Лабораторная работа 2
  13. ООП в JavaScript. Лабораторная работа 3. Форма, кнопка, текстовое поле
  14. ООП в JavaScript. Лабораторная работа 4. Типы данных. Переменные. Арифметические операции. Условная операция
  15. Лабораторная работа 2 по ООП в PHP часть 1
  16. Лабораторная работа 2 по ООП в PHP часть 2
  17. Как вставить связанную (OLE) таблицу в MS Word?
  18. Использование технологии OLE в Excel 2007
  19. Автоматизация действий с помощью макросов VBA
  20. Лабораторная работы по ООП в VBA: макросы в Excel
  21. Создание макросов и пользовательских функций на VBA
  22. Лабораторная работа c объектно-ориентированной ЭС
  23. Лабораторная работа по программированию на XAML

Литература

  1. Автоматное программирование, вып. 53 - СПб., 2008
  2. Бруно Бабэ. Просто и ясно о Borland C++: Версии 4.0 и 4.5/ Пер. с англ. -М.:БИНОМ, 1994. - 400с.
  3. Буч Г. «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» Пер. с англ. - М.: Бином; СПб.: Невский диалект, 1999.
  4. Введение в объектно-ориентированное программирование. - М, 2000 [pdf]
  5. Гайсарян С.С. «Объектно-ориентированное проектирование» (http://www.mista.ru/oop_book/index.htm)
  6. Жуков А. «Изучаем С» - СПб.: Питер, 2003.
  7. Ишкова Э. «С++ начала программирования» - М.: Бином, 2001.
  8. Клочков Д.П., Павлов Д.А. Введение в объектно-ориентированное программирование. / Учебно-методическое пособие. - Изд. Нижегор. ун-та, 1995. - 70с.
  9. Легалов А. «Итоги экспансии объектно-ориентированной парадигмы» (http://www.softcraft.ru/paradigm/process/pr01.shtml
  10. Мухортов В.В., Рылов В.Ю. Объектно-ориентированное программирование, анализ и дизайн (методическое пособие) - ИМСО РАН, Новосибирск, 2002
  11. Немнюгин С., Перколаб Л. «Изучаем TurboPascal
  12. М. Плискин «Эволюция языков программирования» (://2..cctpu../edu///lang/_09.)
  13. Объектно-ориентированный подход к программированию. - МИФИ, 2003 [pdf]
  14. Объектно-ориентированная методология программирования (http://www.math.rsu.ru/smalltalk/sml-a.ru.html)
  15. Объектно-ориентированные системы: состояние и перспективы. Аналитический обзор по материалам фирмы OVUM. Обзор подготовил А.Г. Иванов. (http://www.math.rsu.ru/smalltalk/obzornew.ru.html)
  16. Объектно-ориентированные языки программирования. Сравнение с традиционными языками (://.suvvbcourse/1.)
  17. Патрикеев Ю.Н. «Объектно-ориентированное проектирование» (http://www.object.newmail.ru/oop1.html)
  18. Патрикеев Ю.Н. «Объектно-ориентированное программирование на Borland C++» (http://www.object.newmail.ru/obj0.html)
  19. Поликарпова Н.И., Шалыто А.А. Автоматное программирование - СПб., 2008, 167 c.[pdf]
  20. Принципы объектно-ориентированного программирования – Лекции по системе визуального объектно-ориентированного проектирования Delphi - Лекции (http://blackman.wp-club.net/lection/visualprg.php)
  21. Стили программирования (http://media.karelia.ru/~ftt/IVK/new2/Inflect/T_1_16.htm)
  22. Страуструп Б. Язык программирования С++ (2-ред)./Пер. с англ.-М.: Радио и связь, 1995. - 352с.
  23. Структура экрана в среде (://../distant//_2.
  24. Шилдт Герберт. Самоучитель С++ (2-ред)./Пер. с англ.-СПб.: BHV-Санкт-Петербург, 1997.-512с. (+дискета с примерами)
  25. Элиас М., Страуструп Б. Справочное руководство по языку С++ с комментариями. /Пер. с англ. -М.:Мир, 1992.- с.

Бесплатное ПО, заменяющее лицензионные коммерческие пакеты

ООП   ОСВМ   PHP   алгоритмизация   СУБД   WEB   БДИ   ЯиМП   3GL   4GL   5GL   ММТ   ТПОИ   ТП   w  
Знаете ли Вы, что Программный сниппет (англ. snippet — фрагмент, отрывок) в практике программирования — небольшой фрагмент исходного кода или текста, пригодный для повторного использования. Сниппеты не являются заменой процедур, функций или других подобных понятий структурного программирования. Они обычно используются для более лёгкой читаемости кода функций, которые без их использования выглядят слишком перегруженными деталями, или для устранения повторения одного и того же общего участка кода. Интегрированные среды разработки (IDE) содержат встроенные средства для ввода конструкций языка. Например, в Microsoft Visual Studio, Borland Developer Studio, для этого необходимо ввести ключевое слово и нажать определённую клавишную комбинацию. В IDE Geany существует специальный файл snippets.conf (путь к файлу: /home/user/.config/geany) позволяющий создавать свои сниппеты. Другие программы, такие как Macromedia Dreamweaver и Zend Studio, позволяют использовать сниппеты в Веб-программировании.
НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 24.03.2017 - 11:13: СОВЕСТЬ - Conscience -> Просвещение от Бориса Сергеевича Миронова - Карим_Хайдаров.
23.03.2017 - 07:00: СОВЕСТЬ - Conscience -> ПРОБЛЕМА КРИМИНАЛИЗАЦИИ ЭКОНОМИКИ - Карим_Хайдаров.
22.03.2017 - 01:45: СОВЕСТЬ - Conscience -> Просвещение от Андрея Фурсова - Карим_Хайдаров.
21.03.2017 - 16:33: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
21.03.2017 - 16:16: Беседка - Chatter -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
19.03.2017 - 16:36: СОВЕСТЬ - Conscience -> КОЛЛАПС МИРОВОЙ ФИНАНСОВОЙ СИСТЕМЫ - Карим_Хайдаров.
19.03.2017 - 10:54: СОВЕСТЬ - Conscience -> Проблема государственного терроризма - Карим_Хайдаров.
19.03.2017 - 06:26: Беседка - Chatter -> "Зенит"ы с "Протон"ами будут падать - Карим_Хайдаров.
18.03.2017 - 19:57: Беседка - Chatter -> ФУТУРОЛОГИЯ - прогнозы на будущее - Карим_Хайдаров.
18.03.2017 - 10:00: ЭКОЛОГИЯ - Ecology -> Геофизическая безопасность человека - Карим_Хайдаров.
17.03.2017 - 11:21: СОВЕСТЬ - Conscience -> Просвещение от Сергея Салля - Карим_Хайдаров.
14.03.2017 - 11:47: СОВЕСТЬ - Conscience -> Просвещение от Ю.Ю. Болдырева - Карим_Хайдаров.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution