python - 继承类可以更改基类中元素的类型吗

标签 python class

假设我有类(class) A1A2 和具有 A1/A2 类型元素的类 B

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

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

最佳答案

你是说这样?

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

关于python - 继承类可以更改基类中元素的类型吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10006299/

相关文章:

python 约束: setting a constraint dependent on a function's output

c++ - 使用参数从 main 调用类函数

java - 错误找不到简单投资类别的符号

c# - C#中partial关键字的实际使用

c++ - ptxas 文件中的 CUDA 外部类链接和未解析的外部函数

javascript - 从 ES6 中的函数表达式访问类作用域

python - 垂直组合轮廓并得到凸包 - opencv - python

python - 在Python 2.6中实现tearDownClass功能

python - Pandas :将空单元格替换为 0

python - 使用 pandas 的字符串列表交叉引用多列的有效方法