#18 - Введення в ООП. Теорія на пальцях
Відеоурок
На початковому етапі ООП – це темний ліс, в якому багато чого незрозуміло і надто ускладнено. Насправді все зовсім не так. Пропонуємо абстрагуватися від специфічних (незрозумілих) визначень і познайомитися з ООП простими словами.
ООП простими словами
Оскільки на прикладі все засвоїти набагато простіше, то давайте за приклад візьмемо робота, якого спробуємо описати за допомогою класів в ООП.
Клас у випадку з роботом – це його креслення. Екземпляром класу (об'єктом) називається цілий робот, який створений точно за кресленням.
Спадкування – це додавання корисних опцій до креслення робота. Наприклад, беремо стандартне креслення робота і домальовуємо до нього лазери, крила і броню. Всі ці домальовування ми зробимо в класі нащадку, основний функціонал якого взято з батьківського класу.
Поліморфізм – це загальний функціонал для всіх роботів і не важливо, що кожен робот може дуже сильно відрізнятися один від одного. Наприклад, в головному класі ми вказуємо можливість пересування для всіх наступних роботів. Далі в класі нащадку ми можемо додатково вказати можливість левітації для робота, в іншому ж класі вкажемо можливість пересування по воді і так далі. Виходить, що є загальний функціонал, що записаний в головному кресленні, але його можна переписати для кожного наступного робота (для кожного нащадка).
А інкапсуляція є для нас бронею, що захищає робота. Під пластиною броні знаходяться вразливі елементи, на кшталт проводів і мікросхем. Після прикриття прогалин за допомогою броні (protected або private), робот повністю захищений від зовнішніх втручань. По суті, ми робимо доступ до всіх полів лише за рахунок методів, тим самим прямий доступ до поля буде закритий.
У всіх класів методи можуть відрізнятися, як і поля з конструкторами. Кожен клас дозволяє створювати будь-яку кількість різних об'єктів, всі з них мають власні характеристики.
Велике завдання за курсом
Вам необхідно оформити передплату на сайті, щоб мати доступ до всіх великих завдань. У завдання входить методика рішення, а також готовий проект з відповіддю до завдання.
PS: подібні завдання доступні при підписці від 1 місяця
Також варто подивитися