Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекції 2012-2013ооп.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
6.61 Mб
Скачать

ВП НУБіП УКРАЇНИ

«БОЯРСЬКИЙ КОЛЕДЖ ЕКОЛОГІЇ І ПРИРОДНИХ РЕСУРСІВ»

Конспект лекцій з дисципліни

2.06 ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ

напряму 6.050101 Комп’ютерні науки

спеціальності 5.05010101 «Обслуговування програмних систем і комплексів»

Боярка - 2012

Зміст

Тема 1. Обєктно - орієнтовне програмування 4

Вступ. 4

1.1. Поняття те визначення ООП. 4

1.2. Об' єктно - орієнтована методологія (ООМ). 5

1.3. Об' єктно - орієнтовані мови програмування. 9

1.4. Системи і середовища програмування ТОП. 11

1.5. Коротка характеристика по С++. 12

Тема 2. Основні концепції парадигми програмування 14

2.1. Парадигми програмування: об' єктно - орієнтована парадигма. 14

2.2. Основні концепції ТОП. 14

2.3. Моделювання. Об' єктна декомпозиція. 15

2.4. Ідеї ТОП. ТОП принцип - поліморфізм. 16

2.5. Інкапсуляція. Наслідування. 18

2.6. Об' єктний рефакторинг. 19

2.7. Системи і середовища програм. 22

Тема 3. Абстрактні типи даних. Власні типи даних і інструкції в С++ 23

3.1. Абстракції даних 23

3.2. Власні типи даних і інструкції в С++ 24

3.3. Ініціалізація 29

3.4. Типи, що перераховують 32

3.5. Вирази 32

3.6. Інструкції 34

Тема 4. Загальні поняття програмування С++ 43

4.1. Довідка по C++. 43

4.2. Структура програми, функція main без параметрів. 45

4.3. Основні типи даних. 48

4.4. Константи, змінні, вирази та пріоритет операцій. 49

4.5. Базові конструкції структурного програмування - галуження, цикл, передача управління. 52

4.6. Загальні та бітові логічні операції. 53

4.7. Тернарний опертор. 54

4.8. Вказівники і посилання; масиви. 54

Тема 5. Функції програмування С++ 56

5.1. Користувацькі типи - typedef, enum, struct, union. Функції. 56

5.2. Передача параметрів та повернення значень з функцій. 61

5.3. Рекурсія, перевантаження функцій, функція main з параметрами. 62

5.4. Глобальні і локальні визначення, простори імен та їх використання. 66

5.5. Директиви препроцесора. 70

5.6. Стандартний ввід/вивід - бібліотека stdio.h. 71

5.7. Основи потокового введенню/виводу - бібліотека iostream.h. 73

Тема 6. Загальні поняття про конструктори і функції класів в С++ 76

6.1. Класи і їх опис в C++. 76

6.2. Екземпляри класів або об' єкти. 77

6.3. Поля (атрибути) та методи. 77

6.4. Специфікатори доступу (private, protected, public). 78

6.5. Вказівник this. 79

6.6. Перевантаження методів. 79

6.7. Конструктори і деструктори класів. 79

6.8. Перевантаження конструкторів. 80

6.9. Конструктори копіювання та перетворення. 81

6.10. Закон Деметри 86

Тема 7. Універсальна мова моделювання (Unified Modelling Language або uml) 88

7.1. Сфера застосування. 89

7.2. Основні поняття та принципи. 89

7.3. Зв'язки між класами (асоціація, агрегація, композиція, узагальнення). 89

7.4. UML: діаграми класів. UML: діаграми взаємодії. UML: діаграми послідовності. 90

Тема 8. Бібліотека стандартних шаблонів stl (Standard Template Library) 91

8.1. Бібліотека стандартних шаблонів - STL (призначення, основні можливості, сфера застосування). 93

8.2. Стандартні потоки і потокові класи. 94

8.3. Стрічки (основні операції та функції; переваги порівняно із C - стрічками). 95

8.4. Поняття про контейнери, ітератори, функціональні об' єкти та алгоритми STL. 100

Тема 9. Шаблони проектування stl (Standard Template Library) 104

9.1. Шаблони проектування (designpatterns). 104

9.2. Класифікація шаблонів проектування STL (creational, structural, behavior, concurrencypatterns). 104

9.3. Можливості застосування шаблонів проектування STL. 104

9.4. Реалізація окремих шаблонів проектування на мові C++: абстрактна фабрика(abstractfactory), одинак (singleton), адаптер (adapter). 104