Довідники C++ ООП

Що таке ООП в C++?

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


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

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


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


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


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


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


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

Коментарі
Додати коментар

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