Уроки C++

#18 - Введення в ООП. Теорія на пальцях

#18 - Введення в ООП. Теорія на пальцях

Під час уроку ми поговоримо на тему C++ ООП (об'єктно-орієнтованого програмування). Урок буде теоретичним, ми не будемо писати код, а лише розглянемо основну концепцію застосування цієї технології.

Відеоурок

Telegram group

Підписуйтесь на нашу групу в Телеграмі 🇺🇦

На початковому етапі ООП – це темний ліс, в якому багато чого незрозуміло і надто ускладнено. Насправді все зовсім не так. Пропонуємо абстрагуватися від специфічних (незрозумілих) визначень і познайомитися з ООП простими словами. 


ООП простими словами

Оскільки на прикладі все засвоїти набагато простіше, то давайте за приклад візьмемо робота, якого спробуємо описати за допомогою класів в ООП.


Клас у випадку з роботом – це його креслення. Екземпляром класу (об'єктом) називається цілий робот, який створений точно за кресленням.


Спадкування – це додавання корисних опцій до креслення робота. Наприклад, беремо стандартне креслення робота і домальовуємо до нього лазери, крила і броню. Всі ці домальовування ми зробимо в класі нащадку, основний функціонал якого взято з батьківського класу.


Поліморфізм – це загальний функціонал для всіх роботів і не важливо, що кожен робот може дуже сильно відрізнятися один від одного. Наприклад, в головному класі ми вказуємо можливість пересування для всіх наступних роботів. Далі в класі нащадку ми можемо додатково вказати можливість левітації для робота, в іншому ж класі вкажемо можливість пересування по воді і так далі. Виходить, що є загальний функціонал, що записаний в головному кресленні, але його можна переписати для кожного наступного робота (для кожного нащадка).


А інкапсуляція є для нас бронею, що захищає робота. Під пластиною броні знаходяться вразливі елементи, на кшталт проводів і мікросхем. Після прикриття прогалин за допомогою броні (protected або private), робот повністю захищений від зовнішніх втручань. По суті, ми робимо доступ до всіх полів лише за рахунок методів, тим самим прямий доступ до поля буде закритий.


У всіх класів методи можуть відрізнятися, як і поля з конструкторами. Кожен клас дозволяє створювати будь-яку кількість різних об'єктів, всі з них мають власні характеристики.

Велике завдання за курсом

Вам необхідно оформити передплату на сайті, щоб мати доступ до всіх великих завдань. У завдання входить методика рішення, а також готовий проект з відповіддю до завдання.
PS: подібні завдання доступні при підписці від 1 місяця

Також варто подивитися

Уроки C++ WinForms / Создание программ на Windows
Игра с дизайном на C++ / Создание C++ WinForms игры
Уроки Qt Creator | Графический интерфейс на С++
Создание игры на C++ / Создание "Змейки"
Основы программирования
Вивчення C++ від новачка до профі
Коментарі
Додати коментар

Поки що коментарів немає