Несколько родителей у класса в ООП в Python
У класса может быть не один, а несколько родителей. В этом и проявляется смысл множественного наследования: нужные примеси перечисляют в скобках через запятую.
Давайте посмотрим на примере. Пусть у нас есть две примеси. Первая:
class Helper1:
def get_name(self):
return self.name
Вторая:
class Helper2:
def get_age(self):
return self.age
Используем наши примеси в классе:
class User(Helper1, Helper2):
def __init__(self, name, age):
self.name = name
self.age = age
Создадим объект и проверим методы:
user = User('john', 30)
print(user.get_name()) # выведет 'john'
print(user.get_age()) # выведет 30
Реализуйте класс City со свойствами
name, age, population
и геттерами для них. Пусть наш класс для
сокращения своего кода наследует уже созданную
нами примесь Helper (добавьте в нее
нужные геттеры).
Сделайте 3 класса-примеси с названиями
Mixin1, Mixin2 и Mixin3.
Пусть в первой примеси будет метод
method1, возвращающий 1,
во второй - метод method2,
возвращающий 2, а в третьей
- метод method3, возвращающий 3.
Пусть все эти методы будут приватными.
Сделайте класс Test, наследующий
все три созданные нами примеси. Сделайте в
этом классе публичный метод get_sum,
возвращающий сумму результатов методов
подключенных примесей.