Объектно-ориентированное программирование (ООП)
-
это метод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта. Объединение данных и свойственных им процедур обработки в одном объекте, называется инкапсуляцией и является одним из важнейших принципов ООП.
Другим фундаментальным понятием является класс.
Класс
-
это шаблон, на основе которого может быть создан конкретный программный объект, он описывает свойства и методы, определяющие поведение объектов этого класса. Каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.
Следующими важнейшими принципами ООП являются наследование и полиморфизм.
Наследование
-
такая организация классов, которая предусматривает создание новых классов на базе существующих и позволяет классу потомку иметь (наследовать) все свойства класса – родителя.
Полиморфизм
-
означает, что рожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, в каком месте цепочки (дерева классов) они находятся,
иными словами это концепция, реализующая "множество методов в одном интерфейсе".
Другим важнейшим принципом ООП является модульность.
Модульность
-
это такая организация объектов, когда они заключают в себе полное определение их характеристик, никакие определения методов и свойств не должны располагаться вне его, это делает возможным свободное копирование и внедрение одного объекта в другие.
Развитием объектно-орниентированной парадигмы (методологии), стала
объектно-событийная парадигма, опирающаяся на понятия объекта и события.
Эта парадигма позволяет конструировать, программировать распределенные
вычислительные среды, в том числе среды реального времени,
SCADA и пр.
Событие в объектно-ориентированном программировании
-
это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий.
События предназначены для того, чтобы иметь возможность предусмотреть реакцию программного обеспечения.
Для решения поставленной задачи создаются обработчики событий: как только программа попадает в заданное состояние, происходит событие, посылается сообщение, а обработчик перехватывает это сообщение. В общем случае в обработчик не передаётся ничего, либо передаётся ссылка на объект, инициировавший (породивший) обрабатываемое событие. В особых случаях в обработчик передаются значения некоторых переменных или ссылки на какие-то другие объекты, чтобы обработка данного события могла учесть контекст возникновения события.
Самое простое событие - это событие, сообщающее о начале или о завершении некоторой процедуры. Событие, по сути, сообщает об изменении состояния некоторого объекта. Наиболее наглядно события представлены в пользовательском интерфейсе, когда каждое действие пользователя порождает цепочку событий, которые, затем обрабатываются в приложении.
В объектно-ориентированном анализе для описания динамического поведения объектов принято использовать модель состояний.
Событие - это переход объекта из одного состояния в другое. Взаимодействие объектов также осуществляется при помощи событий: изменение состояния одного объекта приводит к изменению состояния другого объекта, а событие оказывается средством связи между объектами.
Событие - это <абстракция инцидента или сигнала в реальном мире, который сообщает нам о перемещении чего- либо в новое состояние>. Далее, выделяются четыре аспекта события:
метка - уникальный идентификатор события.
значение - текстовое сообщение о сути произошедшего.
предназначение - модель событий, которая принимает событие.
данные - данные, которые переносятся от одного объекта к другому.
Первый ряд примеров событий доставляет собственно сам жизненный цикл объекта:
создание объекта;
уничтожение объекта.
Более сложные примеры событий возникают тогда, когда у объекта появляются
внутренние состояния, которые описываются соответствующей диаграммой переходов
(из одного состояния в другое).
Современными языками объектно-ориентированного
программирования являются С++ и
Java. С середины 90-х годов многие
объектно–ориентированные языки реализуются как
системы визуального программирования, в
которых интерфейсная часть программного продукта создается в диалоговом режиме,
практически без написания программных операторов. К объектно – ориентированным
системам визуального проектирования относятся
Visual Basic,
Delphi,
C++ Builder,
Visual C++. Язык VBA (Visual Basic for Applications) – язык приложений Microsoft Office (Excel, Word, Access, Power Point и др). VBA соблюдает основной синтаксис языка и правила программирования языков Basic – диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.
Целью курса является дать представление студентам об основных
принципах объектно-ориентированного программирования на различных языках.
Основной задачей курса является подготовка специалистов, владеющих
современными методами и средствами разработки алгоритмов и программ,
знающих современную технологию программирования
и умеющих применять ее при решении сложных прикладных задач. Курс лекций
расчитан на студентов, имеющих подготовку по информатике
и программированию на языке С.
Объектно-ориентированные системы: состояние и перспективы. Аналитический обзор по материалам фирмы OVUM. Обзор подготовил А.Г. Иванов. (http://www.math.rsu.ru/smalltalk/obzornew.ru.html)
Объектно-ориентированные языки программирования. Сравнение с традиционными языками (://.suvvbcourse/1.)
Принципы объектно-ориентированного программирования – Лекции по системе визуального объектно-ориентированного проектирования Delphi - Лекции (http://blackman.wp-club.net/lection/visualprg.php)
Знаете ли Вы, что модульность - это такая организация объектов, когда они заключают в себе полное определение их характеристик, никакие определения методов и свойств не должны располагаться вне его, это делает возможным свободное копирование и внедрение одного объекта в другие.