Я хочу написать абстрактный класс, который заставит наследующие классы реализовывать все методы и свойства в моем абстрактном классе.
Кроме того, я хочу использовать сеттеры и геттеры для моего абстрактного свойства, чтобы сделать мой код незагроможденным ивыглядит красиво
Тем не менее, текущая реализация:
import abc
class Component(metaclass=abc.ABCMeta):
@property
@abc.abstractmethod
def status(self):
pass
@property
@status.setter
@abc.abstractmethod
def status(self, value):
pass
обеспечивает принудительное наследование класса для реализации метода получения для моего абстрактного метода получения свойств, но не требует создания метода установки свойств (именно то, что я хочу)
Как я могу добиться такого поведения, не теряя при этом всех преимуществ применения упомянутого выше метода (иначе говоря, написание новых методов и их выполнение в моем установщике абстрактных классов)?