在Python中合并类

时间:2016-07-28 03:29:13

标签: python

我试图将基于变量的几个类合并到一个主类中。请参阅下面的代码,让我知道是否有更有效或正确的方法来执行这些操作。提前致谢

概念: 我有一个主要类,有几个方法。然后我有2-5个扩展主类的子类。但是,如果我不使用这些方法,那么我不会继承这些方法或属性,我只会根据我的需要继承。 DriverFactory然后由适当的类className(DriverFactory)和super(className,self)使用它的类继承。 init (* args)

class DriverFactory(object):

    def __init__(self, *args):
        if "value1" in args:
            cls1 = classOne()
            self.inheritor(cls1)

        if "value2" in args:
            cls2 = classTwo()
            self.inheritor(cls2)

        if len(args) == 0:
            default = defaultCls()
            self.inheritor(default)

    def inheritor(self, obj):
        for i in obj.__dict__:
            self.__dict__[i] = obj.__dict__[i]
        methods = inspect.getmembers(obj, predicate=inspect.ismethod)
        for i in range(1, len(methods)):
            method_obj = methods[i]
            setattr(self, method_obj[0], method_obj[1])

0 个答案:

没有答案