У меня есть деревья классов Python, каждое из которых состоит из абстрактного базового класса и множества производных конкретных классов. Я хочу, чтобы все конкретные классы были доступны через метод базового класса, и я не хочу ничего указывать при создании дочернего класса.
Вот как выглядит мое воображаемое решение:
class BaseClassA(object):
# <some magic code around here>
@classmethod
def getConcreteClasses(cls):
# <some magic related code here>
class ConcreteClassA1(BaseClassA):
# no magic-related code here
class ConcreteClassA2(BaseClassA):
# no magic-related code here
Насколько это возможно, я бы предпочел написать «магию» один раз в качестве своего рода шаблона проектирования. Я хочу иметь возможность применять его к разным деревьям классов в разных сценариях (т.е. добавить подобное дерево с «BaseClassB» и его конкретными классами).
Спасибо Интернет!