Объектно-ориентированное программирование на алгоритмическом языке С++
Основные определения
Жизненный цикл объекта
Объектная организация окружающего мира
Разработка и запуск системы
Иерархическая структура системы
Схема интерфейсов взаимодействия объектов
Схема взаимодействия объектов
Требования к языку
Схема приложения (программы) Уровень сложности 1
Схема приложения (программы) Уровень сложности 2
Этапы разработки программы (системы)
Литература
Жизненный цикл виртуального объекта
Реализация жизненного цикла виртуального объекта на языке С++
Описание заголовочной части класса
Описание части реализации класса
Объявление объекта и доступ к его элементам
Пример 1
362.42K
Category: programmingprogramming

Объектно-ориентированное программирование на алгоритмическом языке С++

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
English     Русский Rules