Наследование перечислений в ООП в Python
Перечисления, как и обычные классы, могут наследовать друг от друга. Потомок может добавить своих членов, если родительский класс еще не содержит членов перечисления.
Сделаем пустое базовое перечисление и класс-потомок с членами:
from enum import Enum
class BaseStatus(Enum):
pass
class EmployeeStatus(BaseStatus):
ACTIVE = 1
ON_LEAVE = 2
FIRED = 3
Члены объявляют в потомке, а обращаться к ним можно по имени класса-потомка:
print(EmployeeStatus.ACTIVE) # выведет EmployeeStatus.ACTIVE
Если у родителя уже есть хотя бы один член, добавить новых в подклассе нельзя: Python выдаст ошибку. Поэтому общую «болванку» без членов выделяют отдельным классом, а конкретные варианты описывают в наследниках.
Сделайте пустое перечисление
BaseCategory и наследника
ProductCategory с несколькими
членами. Выведите один член
наследника.