Similar presentations:
Объектно-ориентированное программирование на алгоритмическом языке С++
1. Объектно-ориентированное программирование на алгоритмическом языке С++
МИРЭА, Институт Информационных технологий,кафедра Вычислительной техники
Автор: доцент, канд. физ.-мат. наук,
Путуридзе Зураб Шотаевич
2. Основные определения
• Объект - то, что может быть индивидуально описано ирассмотрено.
• Система - множество взаимосвязанных и взаимодействующих
объектов для решения одной или множества задач (достижения
одной или множества целей).
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
2
3. Жизненный цикл объекта
ПланОписание
Старт
объекта
Создание.
Конструирование
Остановка
Функционирование
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
Уничтожение
Демонтаж
3
4.
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники4
5. Объектная организация окружающего мира
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники5
6. Разработка и запуск системы
• Определение цели, множества задач, для решениякоторых предназначена система.
• Описание, создание необходимых объектов, составных
частей (элементов) системы.
• Конструктивная сборка системы.
• Определения правил взаимодействия составных
объектов системы. Построение соответствующих
интерфейсов.
• Запуск системы для функционирования, решения задач
(согласно назначению).
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
6
7. Иерархическая структура системы
СистемаОбъект 1
Объект 3
Объект 4
Объект 2
Объект 5
Объект 6
Объект 7
Объект 8
Объект 9
Объект 10
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
7
8. Схема интерфейсов взаимодействия объектов
СистемаВнешняя среда
Объект 1
Объект 3
Объект 4
Объект 2
Объект 5
Объект 6
Объект 7
Объект 8
Объект 9
Объект 10
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
8
9. Схема взаимодействия объектов
Объект 1Объект 2
Воздействие, сигнал, событие
Реакция, обработка
сигнала, действие
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
9
10. Требования к языку
• Описать объект.• Конструировать иерархию объекта.
• Конструировать иерархию системы взаимодействующих
объектов.
• Определить интерфейсы взаимодействия объектов
(механизмы, кодирование, правила).
Программа на объектно-ориентированном языке – система.
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
10
11. Схема приложения (программы) Уровень сложности 1
Приложение (программа)Внешняя среда
Объект 1
Объект 3
Объект 4
Объект 2
Объект 5
Объект 6
Объект 7
Объект 8
Объект 9
Объект 10
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
11
12. Схема приложения (программы) Уровень сложности 2
Приложение (программа)Внешняя среда
Объект 1
Объект 3
Объект 4
Объект 2
Объект 5
Объект 6
Объект 7
Объект 8
Объект 9
Объект 10
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
12
13. Этапы разработки программы (системы)
Процедурное программированиеОбъектно-ориентированное программирование
Постановка задачи (что)
Постановка задачи (что)
Метод решения (чем)
Набор объектов.
Используемые методы решения.
Алгоритм решения задачи (как)
Архитектура программы-системы.
Взаимодействие объектов.
Алгоритм функционирования, решения задачи (как).
Блок-схема алгоритма
Схема архитектуры.
Схема взаимодействия объектов.
Схема алгоритма решения задачи.
Код программы
Код описания объектов.
Код конструирования системы (архитектуры программы).
Код взаимодействия объектов.
Код алгоритма решения задачи.
Тестирование и отладка
Тестирование и отладка
Доработка документации
Доработка документации
Сдача программы и сопроводительной документации
Сдача программы и сопроводительной документации
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
13
14. Литература
• Иванова Г.С. , Ничушкина Т.Н. Объектно-ориентированноепрограммирование. Учебник для студентов ВУЗов. Издательство:
МГТУ им. Н.Э. Баумана. Москва, 2014г. 455 стр.
• Герберт Шилдт. С++ базовый курс. Издательский дом «Вильямс».
Москва, 2017 г. 620 стр.
• Васильев А.Н. Объектно-ориентированное программирование на
С++. Издательство: Наука и Техника. Санкт-Петербург, 2016г. 543
стр.
• Васильев А.Н. Программирование на С++ в примерах и задачах.
Издательство: Эксмо. Москва, 2017г. 368 стр.
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
14
15. Жизненный цикл виртуального объекта
ПланОписание
Старт объекта
Создание.
Конструирование
Остановка
Функционирование
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
Уничтожение
Демонтаж
15
16. Реализация жизненного цикла виртуального объекта на языке С++
ОписаниеКласс
Создание
Объект
Отработка конструктора объекта.
Выделение памяти и исходная инициализация.
Завершение работы конструктора объекта.
Старт
Начало функционирования.
Функционирование
Участие объекта в работе (в алгоритме) приложения
Остановка
Начало отработки деструктора объекта.
Демонтаж
Отработка деструктора объекта.
Завершение
Завершение работы деструктора объекта.
Освобождение выделенной памяти.
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
16
17. Описание заголовочной части класса
class «имя класса» {[private:]
«список скрытых элементов класса»
public:
«список доступных элементов класса»
protected:
«список защищенных элементов класса»
};
• имя класса
• элемент класса
::= идентификатор
::= описание свойства (поля, переменной)
::= описание заголовка метода
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
17
18. Описание части реализации класса
«тип возвращаемого значения» «имя класса» :: «имя метода»([список параметров])
{
// тело метода (код алгоритма метода)
}
• имя класса – класс принадлежности метода
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
18
19.
Конструктор«имя класса» ( [список параметров] );
Деструктор
~«имя класса» ( );
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
19
20. Объявление объекта и доступ к его элементам
Объявление«имя класса» «имя объекта» [,«имя объекта 1» … ];
имя объекта ::= идентификатор
Доступ
«имя объекта».«имя элемента объекта» [ ( [список аргументов] ) ]
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
20
21. Пример 1
#include <iostream>using namespace std;
// ----- Заголовочная часть.
class myclass {
int a;
public:
myclass ( ); // конструктор
void show ( );
// ----- Часть реализации.
myclass :: rmyclass ( )
{
cout << "В конструкторе \n"; ;
a = 10;
}
void myclass :: show ( )
{
cout << a ;
}
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
21
22.
// ----- Основная программаint main ( )
{
myclass ob; // объявление объекта, отработка конструктора
ob.show ( );
// вызов открытого метода.
return 0;
}
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники
22
23.
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники23
24.
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники24
25.
МИРЭА, Институт Информационных технологий, кафедра Вычислительной техники25