Базові класи та підкласи
Свайпніть щоб показати меню
Реалізація наслідування в Python здійснюється за допомогою базових класів (батьків) і підкласів (нащадків).
Базовий клас визначає загальні властивості та поведінку, тоді як підклас успадковує ці характеристики і може розширювати їх власними.
123456789101112131415161718192021222324252627282930class 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())
Employee — це базовий клас. Він зберігає дані, спільні для всіх працівників. Manager та Developer — це підкласи класу Employee. Вони автоматично отримують усе від базового класу, тому їм не потрібно переписувати однаковий код.
Виклик super() запускає конструктор базового класу, тому name та salary встановлюються коректно. Кожен підклас додає власні дані:
ManagerдодаєdepartmentDeveloperдодаєlanguage
Обидва підкласи також перевизначають get_info(). Вони використовують базову версію через super().get_info() і розширюють результат власними деталями.
Це робить базовий клас основою, а підклас — спеціалізованою реалізацією, що додає гнучкість.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат