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

Объектно-ориентированное программирование (ООП-1)

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

         Midterm Exam 2 курс (15)
         Вопросы РК-1 3 курс (15)
         Midterm Exam 3 курс (60)
         Вопросы к экзамену, 2 курс (20 x 3)
         Тестовые вопросы 3 курс (27 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. Парадигмы программирования на примерах
  2. Объектно-ориентированное программирование на PHP
  3. Объектно-ориентированное программирование для начинающих
  4. Лабораторная работа, часть 1 по ООП на PHP
  5. Лабораторная работа, часть 2 по ООП на PHP
  6. Лабораторная работа, часть 3 по ООП на PHP
  7. Лабораторная работа, часть 4 по ООП на PHP
  8. Лабораторная работа 1 по Adobe Flash: Рисование и закрашивание
  9. Лабораторная работа 2 по Adobe Flash: Символы и их трансформы
  10. Лабораторная работа 3 по Adobe Flash: Слои
  11. Лабораторная работа 4 по Adobe Flash: Набор текста
  12. Лабораторная работа 5 по Adobe Flash: Кнопки
  13. Лабораторная работа 6 по Adobe Flash: Звук
  14. Лабораторная работа 7 по Adobe Flash: Кадрированная анимация
  15. Лабораторная работа 8 по Adobe Flash: Создание видеоролика
  16. Лабораторная работа 9 по Adobe Flash: Вставка Flash-объекта в html-файл
  17. Внедрение объектов в HTML
  18. Пошаговое руководство по созданию Flash-сайта в MotoCMS
  19. ООП в JavaScript. Лабораторная работа 1
    Основные понятия и определения: объект, метод, свойства, события
  20. ООП в JavaScript. Лабораторная работа 2
  21. ООП в JavaScript. Лабораторная работа 3. Форма, кнопка, текстовое поле
  22. ООП в JavaScript. Лабораторная работа 4. Типы данных. Переменные. Арифметические операции. Условная операция
  23. Скрипт логического теста
  24. Лабораторная работа 2 по ООП в PHP часть 1
  25. Лабораторная работа 2 по ООП в PHP часть 2
  26. Как вставить связанную (OLE) таблицу в MS Word?
  27. Использование технологии OLE в Excel 2007
  28. Автоматизация действий с помощью макросов VBA
  29. Лабораторная работы по ООП в VBA: макросы в Excel
  30. Создание макросов и пользовательских функций на VBA
  31. Начало работы в Access-2007
  32. Введение в интерфейс, объекты и новые возможности MS Access 2007
  33. Лаб.1. Создание базы данных, операции с таблицами
  34. Лаб.2. Модификация базы данных. Использование связанных таблиц. Создание форм и отчетов
  35. Лаб.3. Работа с данными при помощи запросов
  36. Лабораторная работа c объектно-ориентированной ЭС
  37. Лабораторная работа 1 по программированию на XML
  38. Лабораторная работа 2 по программированию на XML
  39. Лабораторная работа 3 по программированию на XML
  40. Лабораторная работа 4 по программированию на XML
  41. Лабораторная работа по программированию на XAML
  42. Построение приложения WPF используя только код XAML

Литература

  1. Бруно Бабэ. Просто и ясно о Borland C++: Версии 4.0 и 4.5/ Пер. с англ. -М.:БИНОМ, 1994. - 400с.
  2. Буч Г. «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» Пер. с англ. - М.: Бином; СПб.: Невский диалект, 1999.
  3. Введение в объектно-ориентированное программирование. - М, 2000 [pdf]
  4. Гайсарян С.С. «Объектно-ориентированное проектирование» (http://www.mista.ru/oop_book/index.htm)
  5. Жуков А. «Изучаем С» - СПб.: Питер, 2003.
  6. Использование Adobe Flash Professional CS5 - Adobe Systems, 2010. [pdf]
  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. Принципы объектно-ориентированного программирования – Лекции по системе визуального объектно-ориентированного проектирования Delphi - Лекции (http://blackman.wp-club.net/lection/visualprg.php)
  20. Стили программирования (http://media.karelia.ru/~ftt/IVK/new2/Inflect/T_1_16.htm)
  21. Страуструп Б. Язык программирования С++ (2-ред)./Пер. с англ.-М.: Радио и связь, 1995. - 352с.
  22. Структура экрана в среде (://../distant//_2.
  23. Шилдт Герберт. Самоучитель С++ (2-ред)./Пер. с англ.-СПб.: BHV-Санкт-Петербург, 1997.-512с. (+дискета с примерами)
  24. Элиас М., Страуструп Б. Справочное руководство по языку С++ с комментариями. /Пер. с англ. -М.:Мир, 1992.- с.

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

ООП-2   PHP   алгоритмизация   СУБД   WEB   БДИ   ЯиМП   3GL   4GL   5GL   ММТ   ТПОИ   ТП   w  
Знаете ли Вы, что свойство объекта в объектно-ориентированном программировании - это характеристика объекта. Обычно свойства изменяются с помощью методов.

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
  27.04.2016 - 07:59: СОВЕСТЬ - Conscience -> Проблема государственного терроризма - Карим_Хайдаров.
25.04.2016 - 07:47: СОВЕСТЬ - Conscience -> КОЛЛАПС МИРОВОЙ ФИНАНСОВОЙ СИСТЕМЫ - Карим_Хайдаров.
24.04.2016 - 21:11: АСТРОФИЗИКА - Astrophysics -> Комета 67Р/Чурюмова-Герасименко и проблема ее происхождения - Евгений_Дмитриев.
20.04.2016 - 12:33: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
17.04.2016 - 22:31: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
09.04.2016 - 06:59: АСТРОФИЗИКА - Astrophysics -> Сезонные колебания уровня вод морей и океанов - Юсуп_Хизиров.
28.03.2016 - 16:42: СОВЕСТЬ - Conscience -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
17.03.2016 - 11:20: СЕЙСМОЛОГИЯ - Seismology -> Запасы воды под Землёй - Карим_Хайдаров.
15.03.2016 - 16:15: ЦИТАТЫ ЧУЖИХ ФОРУМОВ - Outside Quotings -> ВЫМИРАНИЕ ДИНОЗАВРОВ на www.nkj.ru - Карим_Хайдаров.
23.02.2016 - 20:34: Беседка - Chatter -> Приливы и отливы - Юсуп_Хизиров.
19.02.2016 - 05:38: ФИЗИКА ЭФИРА - Aether Physics -> Скорость распространения гравитации - Карим_Хайдаров.
Боровское исследовательское учреждение - Bourabai Research Bourabai Research Institution