Python абстрактные сеттеры и геттеры - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу написать абстрактный класс, который заставит наследующие классы реализовывать все методы и свойства в моем абстрактном классе.

Кроме того, я хочу использовать сеттеры и геттеры для моего абстрактного свойства, чтобы сделать мой код незагроможденным ивыглядит красиво

Тем не менее, текущая реализация:

import abc


class Component(metaclass=abc.ABCMeta):

    @property
    @abc.abstractmethod
    def status(self):
        pass

    @property
    @status.setter
    @abc.abstractmethod
    def status(self, value):
        pass

обеспечивает принудительное наследование класса для реализации метода получения для моего абстрактного метода получения свойств, но не требует создания метода установки свойств (именно то, что я хочу)

Как я могу добиться такого поведения, не теряя при этом всех преимуществ применения упомянутого выше метода (иначе говоря, написание новых методов и их выполнение в моем установщике абстрактных классов)?

...