Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / ооп / 4_кол / Лекції / 17. Об'єктно-орієнтоване програмування, л.5.1 - 5.3.ppt
Скачиваний:
36
Добавлен:
30.05.2020
Размер:
871.94 Кб
Скачать

Об'єктно-орієнтоване

програмування

Парадигма програмування, заснована на представленні наочної області у вигляді взаємозв'язаних абстрактних об'єктів і їх реалізацій

Класи і об'єкти

До ООП вводиться поняття Класу - призначеного для користувача типа даних, об'єднуючого дані і методи їх обробки

Об'єктом називається екземпляр

класу

Собака - це клас

Собака Жучка з 3 під'їзду - це об'єкт, представник або екземпляр класу «Собака»

class < Ім'я класу >

{

// поля класу (дані і методи)

};

Дані об'єкту (змінні об'єкту,члени-дані)

Члени-дані (data members) зберігають всю необхідну інформацію про об'єкт, формують його стан, характеристики і тому подібне

Зміна стану об'єкту або його характеристик пов'язана із зміною даних, що в ньому містяться

Методи класу

Клас може містити один або більш за методи, що дозволяють здійснювати маніпуляцію даними об'єкту

Метод об'єкту - програмний код, виконаний у вигляді процедури або функції, реагуючий на передачу об'єкту певного повідомлення

Виклик методу об'єкту може наводити до зміни його стану (значення членів-даних), а може і не наводити

Приклад 1: пошук і заміна тексту в документі

Приклад 2: перевірка правопису тексту документа

Властивості

Властивість - складник об'єкту, доступ до якої здійснюється програмістом як до змінної об'єкту

У деяких об'єктно-орієнтованих мовах програмування (наприклад, в C++ і Java) властивості, як елемент мови, відсутні

В цьому випадку в клас додають методи, за допомогою яких здійснюється доступ до необхідним змінним класу

Приклад: Трикутник

Властивості

Координати вершини A

Координати вершини B

Координати вершини CПлощаПериметр

Координати центру вписаного кола

Методи

Перемістити в заданому напряміМасштабуватиОбернути довкола заданої точки

class Point

{

public:

double x, y;

};

class Triangle

{

public:

double GetArea(); double GetPerimeter();

Point GetCenter();

void Move(double dx, double dy); void Scale(double sx, double sy);

void Rotate(Point center, double angle);

Point p0, p1, p2;

};

Найважливіші принципи ООП

Абстракція данихІнкапсуляціяСпадкоємствоПоліморфізм

Абстракція даних

Об'єкти уявляють неповну інформацію про реальні сутністі наочної області

Абстракція дозволяє оперувати з об'єктному на рівні, адекватному вирішуваному завданню

Високорівневі звернення до об'єкту можуть оброблятися за допомогою виклику функцій і методів низького рівня