Наследование
@ProgHelpBotНаследование
Позволяет создавать новый класс на основе уже существующего класса. Ключевыми понятиями являются подкласс и суперкласс. Подкласс наследует от суперкласса все публичные атрибуты и методы. Суперкласс еще называется базовым (base class) или родительским (parent class), а подкласс - производным (derived class) или дочерним (child class).
class [Подкласс]([Суперкласс]): [методы подкласса]
Пример:
class Person:
def __init__(self, name):
self.__name = name
@property
def name(self):
return self.__name
class Employee(Person):
def work(self):
print(f"{self.name} works")
alex = Employee("Alex")
print(alex.name) # Alex
alex.work() # Alex works
Множественное наследование
Один класс можно унаследовать от нескольких классов.
class Student:
def study(self):
print("Student studies")
class Employee:
def work(self):
print("Employee works")
class WorkingStudent(Student, Employee):
pass
alex = WorkingStudent()
alex.study() # Student studies
alex.work() # Employee works