Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Базові класи та підкласи | Наслідування
Об'єктно-орієнтоване програмування на Python

bookБазові класи та підкласи

Свайпніть щоб показати меню

Реалізація наслідування в Python здійснюється за допомогою базових класів (батьків) і підкласів (нащадків).

Базовий клас визначає загальні властивості та поведінку, тоді як підклас успадковує ці характеристики і може розширювати їх власними.

123456789101112131415161718192021222324252627282930
class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def get_info(self): return f"{self.name}, {self.salary}" class Manager(Employee): def __init__(self, name, salary, department): super().__init__(name, salary) self.department = department def get_info(self): return f"{super().get_info()}, {self.department}" class Developer(Employee): def __init__(self, name, salary, language): super().__init__(name, salary) self.language = language def get_info(self): return f"{super().get_info()}, {self.language}" print(Employee("Anna", 2000).get_info()) print(Manager("Mark", 3500, "IT").get_info()) print(Developer("Lena", 3000, "Python").get_info())
copy

Employee — це базовий клас. Він зберігає дані, спільні для всіх працівників. Manager та Developer — це підкласи класу Employee. Вони автоматично отримують усе від базового класу, тому їм не потрібно переписувати однаковий код.

Виклик super() запускає конструктор базового класу, тому name та salary встановлюються коректно. Кожен підклас додає власні дані:

  • Manager додає department
  • Developer додає language

Обидва підкласи також перевизначають get_info(). Вони використовують базову версію через super().get_info() і розширюють результат власними деталями.

Note
Примітка

Це робить базовий клас основою, а підклас — спеціалізованою реалізацією, що додає гнучкість.

question mark

Яка роль підкласу у спадкуванні в Python?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 2
some-alt