Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л1. Обєктно-ор_єнтований п_дх_д у програмуванн_...doc
Скачиваний:
4
Добавлен:
21.09.2019
Размер:
67.07 Кб
Скачать

1. 3. Базові поняття та терміни ооп

ООП – це методологія (парадигма) програмування, яка ґрунтується на представленні програми у вигляді структурності об’єктів, кожен з яких є реалізацією певного класу, а класи утворюють ієрархію на принципах наслідування.

В даному означенні можна виділити 3 частини:

  1. ООП використовує в якості елементів конструкції об’єктів, а не алгоритми;

  2. Кожен об’єкт є реалізацією класу;

  3. Класи організовані ієрархічно.

Означення. Об’єктно-орієнтована парадигма – новий підхід до розробки програмного забезпечення.

Фундаментальна концепція Об’єктно-орієнтована парадигма полягає в передачі повідомлень об’єктам. Для цього необхідно, щоб об’єкти визначалися разом з повідомленнями, на які вони будуть реагувати, на відміну від процедурного програмування, де спочатку визначаються структури даних, які потім передаються в процедури як параметри.

Існує 4 компоненти об’єктно-орієнтованої парадигми:

  • Об’єкт;

  • Повідомлення ;

  • Клас;

  • Метод.

Об’єкт – це абстрактне поняття, що включає інформацію про стан і чітко визначену множину протоколу доступу (повідомлення, які опрацьовують об’єкт). Об’єкт об’єднує всобі дані і методи, які працюють з цими даними.

Повідомлення – це спеціальний символ, ідентифікатор або ключове слово з або без параметрів, яке показує дію, що використовується об’єктом. При заданні повідомлення вказується ім’я об’єкта, якому воно передається.

Метод – це функція (ряд виразів), що знаходиться всередині об’єкта і може змінювати деякі властивості цього об’єкта. Метод визначає реакцію об’єкта на повідомлення.

Приклад.

R1.roots();

R1 → roots(); - динамічний об’єкт (за допомогою вказівника)

T

Виклики методів

1.hide(); - сховати об’єкт

C1.move (0,0); - перемістити об’єкт у задану точку

R1.changecolor (Red); - змінити колір об’єкта на червоний

Клас - це група об’єктів, що мають спільні властивості. Класи організовуються ієрархічно, причому підкласи наслідують властивості класів, що їх породили.

Приклад. Клас, який моделює прямокутник

class rectangle {

public : rectangle (double x1, double y1, double x2, double y2)

void setcolor (int col);

void setcoord (double x1, double y1);

void draw;

void erase;

void move (double dx, double dy);

protected :

double x1, y1, x2, y2;

int col;

}

Отже, об’єкти належать до певних класів; Об’єкти опрацьовують повідомлення відповідно до методів, які задані в описі класу. Об’єкти також мають змінні стану, які визначені в описі класу. Ці змінні можуть мати однакові або різні значення у різних екземплярах об’єктів даного класу.

Базові концепції ООП

ООП Мова повинна володіти властивостями абстракції, інкапсуляції, наслідування і поліморфізму.

1. Абстракція – процес мисленого відділення несуттєвих характеристик об’єктів реального світу та виділення тих властивостей, які є важливими для розв’язання даної задачі.

2. Інкапсуляція – поєднання в одному об’єкті даних та методів, що мають доcтуп до цих даних. Передбачає захист даних від стороннього втручання та дозволяє цілком змінити реалізацію об’єкта. В ООП одиниця інкапсуляції – об’єкт.

3. Наслідування (успадкування) – полягає у передачі властивостей (атрибутів) від основного (базового, батьківського) класу до іншого (похідного). Ілюстрація цього – класи в біології..

4. Поліморфізм – здатність різних об’єктів по-різному реагувати на одне і те ж повідомлення. Тобто, конкретна форма повідомлення визначається і зв’язується з об’єктом під час виконання програми.

1.4. Етапи виконання програм на мові С++

Вихідний текст модуля 1

.cpp

Вихідний текст модуля N

.cpp

. . .

Препроцесор

Препроцесор

. . .

Повний текст модуля 1

.cpp

Повний текст модуля N

.cpp

. . .

Компілятор

Компілятор

. . .

Об’єктний код модуля 1

.cpp

Виконуваний файл .ехе

. . .

Компонувальник

Об’єктний код модуля N

.cpp

4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]