- •Объект, класс. Понятие, примеры
- •Структура класса, использование классов
- •Причины возникновения ооп
- •Технология применения ооп при разработке и реализации ис
- •Абстрагирование в ооп, инкапсуляция – понятие и примеры
- •Наследование в ооп, понятие и примеры
- •Модульность в ооп, связность и связанность
- •Иерархия в ооп, полиморфизм, определения и примеры
- •Диаграмма классов, нотация uml
- •Технология руп - базисная структура и принципы Структура продукта процесса
- •Итерация руп, структура и цели итерации
- •Цели и задачи моделирования бизнес – процессов в руп
- •Структура модели бизнес – процесса в руп, пример
- •Требования в руп, формирование и анализ, примеры
- •Use Case моделирование, субъекты, роли и прецеденты Субъекты
- •Прецеденты
- •Логическое представление руп, понятие и примеры
- •Представление выполнения руп
- •Объекты и классы в руп Объекты
- •Этап руп «Анализ и проектирование», общие понятия и задачи этапа
- •Технология Use Case. Основные принципы, примеры.
- •Диаграмма последовательности, определение и примеры.
- •Инструментальная среда поддержки руп
- •Структура системы Enterprise Architect
- •Формирование моделей бизнес – процессов в еа
- •Формальные требования в еа, структура и формирование
- •Моделирование функций системы в еа
- •Структура динамической модели в еа
- •Диаграмма состояния в еа
- •Диаграмма деятельности в еа
- •Диаграмма последовательности в еа
- •Потоки деятельности в еа
- •Создание Case-проекта в Enterprise Architect.
- •Диаграммы реализации в еа
- •Что такое конструктор и для чего он нужен, Какие типы конструктора существуют
- •Деструктор, назначение деструктора.
- •Методы класса, наследование и перекрытие методов.
- •Статические компоненты класса
- •Шаблоны классов, библиотека mfc
- •Списки, технология списков, операции вставить, удалить узел списка
- •Технология связных списков
- •Класс List, свойства и методы класса
- •Абстрактный список, операции над списками в классе List
-
Структура класса, использование классов
В нотации UML класс обозначается в виде прямоугольника, разделенного на три части. В верхней содержится имя класса, в средней – его атрибуты (поля данных). В нижней части указываются методы класса, отражающие его поведение (то есть действия, выполняемые классом).
Описание класса в общем виде выглядит так:
class <имя_класса>
{
[private:]
<описание скрытых элементов>
public:
<описание доступных элементов>
};
-
Причины возникновения ооп
Объектное и объектно-ориентированное программирование (ООП) возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Кроме того, в современном объектно-ориентированном программировании часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование).
Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. В момент своего появления (в 1967 году), этот язык программирования предложил поистине революционные идеи: объекты, классы, виртуальные методы и др., однако это всё не было воспринято современниками как нечто грандиозное.
В настоящее время количество прикладных языков программирования (список языков), реализующих объектно-ориентированную парадигму, является наибольшим по отношению к другим парадигмам. В области системного программирования до сих пор применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.
-
Технология применения ооп при разработке и реализации ис
Языки объектно-ориентированного программирования (Object-Oriented Languages) - языки программирования, программа на которых задается описанием поведения совокупности взаимосвязанных объектов.
Объекты обмениваются запросами; реагируя на полученный запрос, объект посылает запросы другим объектам, получает ответы, изменяет значения своих внутренних переменных и выдает ответ на полученный запрос. Механизм запросов в объектно-ориентированых языках интересен тем, что при выполнении запроса объектом непосредственно изменены могут быть только значения переменных этого объекта. В отличие от процедуры, которая описывает как должна выполняться обработка, запрос только определяет, что желает выполнять отправитель, а получатель точно определяет, что должно произойти. Объектно-ориентированная парадигма программирования вносит в программу модульность посредством абстракции данных и наследования и особенно хорошо подходит для ситуаций, когда имеется ясная иерархическая классификация объектов. Это позволяет избежать дублирования и локализовать описания механизмов работы с информацией. Одним из первых языков этого типа является Smalltalk [4-7].
Технология ООП обладает тремя главными преимуществами:
она проста для понимания: ООП позволяет мыслить категориями повседневных объектов;
повышенно надежна и проста для сопровождения — правильное проектирование обеспечивает простоту расширения и модификации объектно-ориентированных программ. Модульная структура позволяет вносить независимые изменения в разные части программы, сводя к минимуму риск ошибок программирования;
ускоряет цикл разработки — модульность и здесь играет важную роль, поскольку различные компоненты объектно-ориентированных программ можно легко использовать в других программах, что уменьшает избыточность кода и снижает риск внесения ошибок при копировании.
Специфика ООП заметно повышает эффективность труда программистов и позволяет им создавать более мощные, масштабируемые и эффективные приложения.
Объектно-ориентированное программирование основано на:
Инкапсуляции;
Полиморфизме;
Наследовании.
Инкапсуляция - это механизм, объединяющий данные и обрабатывающий их код как единое целое.
Полиморфизм позволяет использовать одни и те же имена для похожих, но технически разных задач.
Наследование позволяет одному объекту приобретать свойства другого объекта, не путайте с копированием объектов.