Как выполнить 2 разных типа дочерних экземпляров в Python - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть класс и 2 разных дочерних типа. Я хочу выполнить оба типа дочерних классов одновременно. Я проектирую их из того же родительского типа, поскольку они будут использовать одни и те же метаданные. Является ли этот код правильным подходом?

class parent():
    def __init__(self, val = 'type_A', local_val = 10 ):
        self.type = val
        self.data = local_val
        self.generic_val = -356

    def __run_parent__(self):
        print('Run parent')

    def process(self):
        if self.type == 'type_A':
            self.get_type_A_data()
        elif self.type == 'mixed':
# ----------- Here I am creating 2 different Objects -------
            s = type_A(200)
            c = type_B(300)
            s.get_type_A_data()
            c.get_type_B_data()

        self.__run_parent__()

class type_A(parent):
    def __init__(self, val):
        parent.__init__(self, 'type_A', val)
        print(self.type)

    def get_type_A_data(self):
        print('type_A Data:', self.data, 'generic_val:', self.generic_val)


class type_B(parent):
    def __init__(self, val):
        parent.__init__(self, 'mixed', val)
        print(self.type)
    def get_type_B_data(self):
        print('type_B Data', self.data, 'generic_val:', self.generic_val)


i = parent('mixed')
i.process()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...