#17 – Основи ООП. Створення класу та об'єкта

#17 – Основи ООП. Створення класу та об'єкта

ООП – об'єктно-орієнтоване програмування. Є однією з найважливіших концепцій мови Python. Ми з вами приступаємо до вивчення теоретичної та практичної реалізації ООП. За урок ми навчимося прописувати класи та об'єкти у мові Пітон.

Відеоурок

Telegram group

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

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


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

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


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


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


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


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


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


Створення класів

Для створення класу необхідно прописати ключове слово class і далі назву класу. Загальноприйнято починати назви класів із літери у верхньому регістрі, але якщо цього не зробити, то помилки не буде.

У будь-якому класі можна створювати поля (змінні), методи (функції) та конструктори.

Створивши новий клас і помістивши туди будь-яку інформацію, ми можемо створювати на основі нього нові об'єкти. Об'єкти матимуть доступ до всіх характеристик класу.

Приклад простого класу наведено нижче:

class Book:
	pass # Клас може нічого не повертати

На основі такого класу ми можемо створити велику кількість об'єктів. Кожен об'єкт у разі представлятиме собою конкретну книжку. Для кожного об'єкта ми можемо вказати унікальні дані.


Щоб створити об'єкт, нам знадобиться наступний код:

obj_new = Some() # Створення об'єкта
obj_second = Some() # Створення 2 об'єкта

Вихідний код

Весь код буде доступний після підписки на проект!

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

Необхідно оформити передплату на проект, щоб отримати доступ до всіх домашніх завдань

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

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

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

Изучение Flask / Создание сайта на Python
Уроки ChatGPT API / Разработка программ на Python и ChatGPT
Курс Machine Learning / Машинное обучение с нуля
Telegram Bots: Создание ботов на Python Aiogram
Python Data Analytics / Аналитика данных (NumPy, Pandas, Matplotlib)
Python Data Science / Обработка данных (Scikit-learn, TensorFlow)
Коментарі
Додати коментар

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