#11 – Основи ООП. Основні концепції ООП

#11 – Основи ООП. Основні концепції ООП

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

Відеоурок

Telegram group

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

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


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

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


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


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


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


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


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

Завдання до уроку

Основні концепції

Назвіть 4 основні концепції ООП, а також коротко розкажіть, що вони роблять і за які функції відповідають.

Подивитися відповідь

4 концепції ООП: поліморфізм, абстракція, інкапсуляція та успадкування.

  • поліморфізм - перерозподіл даних
  • абстракція - опис лише скелета об'єкта без реалізації
  • інкапсуляція – захист даних від зовнішнього доступу до них
  • успадкування - можливість успадковувати дані із класів-батьків
Об'єкти

Що таке екземпляр (об'єкт) і як багато їх може бути?

Подивитися відповідь

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


Один клас може мати нескінченну кількість об'єктів (екземплярів).

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

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

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

Разработка игр на Java для начинающих
Разработка Android программы. Создание чата
Курс Nuxt JS / Изучение Nuxt.js фреймворка
Вивчення JavaScript: від нуля та до створення сайту
Java 3D Game / Разработка игры Minecraft
Уроки Java Андроїд програмування
14 уроків
Коментарі (1)
Додати коментар

The_cahar 04 квітня 2023 в 08:17

Дякую зо проводите курси на українській!
Відповісти