1

假设我有A1A2 类以及具有 A1/A2 类型元素的B类。

现在我有一个类B'(B)(它继承自 B)。这个类可以使用 A1' 和 A2' 而不是 A1 和 A2,这个新类可以以某种方式交换基类中元素的类型吗?

通常我会说这是不可能的,但因为这是关于 python ......:P

4

1 回答 1

4

你的意思是这样吗?

class A1(object):
    pass

class A1Child(A1):
    pass

class A2(object):
    pass

class A2Child(A2):
    pass


class B(object):

    a1_instance = None
    a2_instance = None

    def __init__(self):
        self.a1_instance = A1()
        self.a2_instance = A2()

class BChild(B):

    def __init__(self):
        self.a1_instance = A1Child()
        self.a2_instance = A2Child()


b_instance = B()

print b_instance.a1_instance
print b_instance.a2_instance


bchild_instance = BChild()

print bchild_instance.a1_instance
print bchild_instance.a2_instance
于 2012-04-04T07:04:22.587 回答