- •Курсова робота
- •Завдання
- •1. Пояснювальна записка
- •2. Розрахункова частина
- •3. Позитивні сторони _______________________________________
- •1. Абстрагування
- •2. Інкапсуляція
- •3. Успадкування
- •3.1 Загальні поняття
- •3.2 Одиночне успадкування
- •4. Поліморфізм
- •4.1 Загальні поняття
- •4.2 Поліморфізм і його реалізація через віртуальні функції
- •4.3 Абстрактні та віртуальні базові класи
- •4.4 Перевантаження функцій і операцій
- •5. Класи
- •5.1 Інтерфейс і реалізація в класі
- •5.2 Конструктори і деструктори
- •7. Динамічний розподіл пам’яті
- •8.Висновок
- •9.Список використаної літератури
- •Додаток 1. Лістинг програми
- •Додаток 2. Результати роботи програми
- •Додаток 3. Cd – диск з програмою
1. Абстрагування
Абстракція в об'єктно-орієнтованому програмуванні - це додання об'єкту характеристик, які чітко визначають його концептуальні межі, відрізняючи від всіх інших об'єктів. Основна ідея полягає в тому, щоб відокремити спосіб використання складових об'єктів даних від деталей їх реалізації у вигляді більш простих об'єктів, подібно до того, як функціональна абстракція розділяє спосіб використання функції і деталей її реалізації в термінах більш примітивних функцій, таким чином, дані обробляються функцією високого рівня за допомогою виклику функцій низького рівня.
Це важливий інструмент ООП поряд з поліморфізмом, успадкуванням та інкапсуляцією.
Абстракція є основою об'єктно-орієнтованого програмування і дозволяє працювати з об'єктами, не вдаючись у особливості їх реалізації.
Фундаментальна ідея полягає в розділенні несуттєвих деталей реалізації підпрограми і характеристик, істотних для коректного її використання. Такий поділ може бути виражено через спеціальний «інтерфейс», зосереджують опис всіх можливих застосувань програми.
2. Інкапсуляція
Інкапсуляція — один з трьох основних механізмів об'єктно-орієнтованого програмування. Йдеться про те, що об’єкт вміщує не тільки дані, але і правила їх обробки, оформлені в вигляді виконуваних фрагментів (методів). А також про те, що доступ до стану об'єкта напряму заборонено, і ззовні з ним можна взаємодіяти виключно через заданий інтерфейс (відкриті поля та методи), що дозволяє знизити зв'язність. Таким чином контролюються звернення до полів класів та їхня правильна ініціалізація, усуваються можливі помилки пов'язані з неправильним викликом методу. Оскільки користувачі працюють лише через відкриті елементи класів, то розробники класу можуть як-завгодно змінювати всі закриті елементи і навіть перейменовувати та видаляти їх, не турбуючись, що десь хтось їх використовує у своїх програмах.
Користувач не може використовувати закриті дані і методи. Реалізується за допомогою ключових слів: private, protected, internal.
В ООП рекомендується з самого початку створювати закриті поля і лише в разі крайньої необхідності подавати ширший доступ до них.
3. Успадкування
3.1 Загальні поняття
В об'єктно-орієнтованому програмуванні, успадкува́ння — механізм утворення нових класів на основі використання вже існуючих. При цьому властивості і функціональність батьківського класу переходять до класу нащадка(дочірнього).
Визначення нового класу може базуватись на визначенні вже існуючого. В такому випадку, новий клас отримає властивості та поведінку базового класу, та доповнить їх своїми власними. У випадку одиничного успадкування, у кожного класу може бути лише один безпосередній базовий клас. У випадку множинного успадкування, дозволяється існування декількох безпосередніх надкласів.
Застосування механізму успадкування дозволяє покращити повторне використання коду шляхом використання вже визначених властивостей та методів (поведінки) базових класів.
Приклад успадкування в С++ :
class A{ //базовий клас
};
class B : public A{ //public успадкування
};
class C : protected A{ //protected успадкування
};
class Z : private A{ //private успадкування
};
