Наследование абстрактных классов в ООП в Python
Абстрактные классы, так же, как и обычные, могут наследовать друг от друга. Давайте посмотрим на примере. Пусть у нас есть такой абстрактный класс:
from abc import ABC, abstractmethod
class Rectangle(ABC):
@abstractmethod
def __init__(self, a, b):
pass
@abstractmethod
def get_square(self):
pass
@abstractmethod
def get_perimeter(self):
pass
Однако у нас уже есть абстрактный класс Figure,
описывающий часть методов нашего класса:
from abc import ABC, abstractmethod
class Figure(ABC):
@abstractmethod
def get_square(self):
pass
@abstractmethod
def get_perimeter(self):
pass
Давайте сделаем так, чтобы класс Rectangle
наследовал методы класса Figure:
from abc import ABC, abstractmethod
class Rectangle(Figure):
@abstractmethod
def __init__(self, a, b):
pass
Сделайте абстрактный класс User с методами
get_name, set_name, get_age,
set_age.
Сделайте абстрактный класс Employee, наследующий
от класса User и добавляющий
в него методы get_salary и
set_salary.
Сделайте класс Worker, наследующий
абстрактный класс Employee.