小编tiu*_*q23的帖子

Python:在子类中更新父类的实例变量

我对此进行了很多搜索,但似乎找不到任何特定于我的问题的内容。

假设我有三个独立的 python 文件 fileA.py、fileB.py 和 fileMain.py

fileB.py 继承自 fileA.py。

文件A.py

class Parent():
    def __init__(self):
        self.valueA = 5
Run Code Online (Sandbox Code Playgroud)

文件B.py

from fileA import Parent

class Child(Parent):
    def __init__(self):
        Parent.__init__():
        self.valueB = 10

    def Calculate(self):
        self.result = self.valueB + self.valueA
        print(self.result)
Run Code Online (Sandbox Code Playgroud)

在 fileMain.py 中,我有一些代码在父类中的 valueA 更改后调用子类中的计算方法。

from fileA import Parent
from fileB import Child

class MainProgram():
    def __init__(self):
        self.parent = Parent()
        self.child = Child()

        self.parent.valueA = 8

        self.child.Calculate()

foobar=MainProgram()
Run Code Online (Sandbox Code Playgroud)

我的问题是,打印输出是 15 而不是 18。为什么?我怎样才能解决这个问题以获得预期的结果?

我希望 fileB.py 从 fileA.py 继承的原因是我计划让 fileC.py 也从 fileA.py 继承,并使用 …

python-3.x

4
推荐指数
1
解决办法
8372
查看次数

标签 统计

python-3.x ×1