我有以下代码块。
class Starter():
def __init__(self, reference):
self.reference = reference
def change_ref(self):
print("Got :", self.reference)
self.reference = 1
print("Now :", self.reference)
class Stopper():
def __init__(self, reference):
self.reference = reference
def change_ref(self):
print("Got :", self.reference)
self.reference = 2
print("Now :", self.reference)
class Controller():
def __init__(self):
self.main_reference = 0
self.starter = Starter(self.main_reference)
self.stopper = Stopper(self.main_reference)
controller = Controller()
controller.starter.change_ref()
controller.stopper.change_ref()
它输出以下内容:
Got : 0
Now : 1
Got : 0
Now : 2
我希望启动器和停止器类修改并达到相同的对象。所以我正在寻找的输出如下:
Got : 0
Now : 1
Got : 1
Now : 2
使用三个不同的类来做到这一点的最佳方法是什么?我很好奇我们是否可以利用类,而不是使用数组。如果可能的话,我也可以使用嵌套类。我唯一的限制是Starter类Stopper必须彼此分开,因为在我的项目中我将它们用作QThread子类。这导致他们以不同的方式覆盖他们的运行方法。