2016-10-14 39 views
-1

我正在使用python来实现类似以下内容。从其他对象(委托)更改对象变量

sample1.py

Class D: 
    def __ini__(self): 
     return 

    def disconnect(self): 
     ## I want to change isConnected in A, but I can not do something like A.isConnected = False here. I want to use delegation. 
     return 

sample2.py

Class B(A): 
    Class C(D): 
     def _init_(self): 
      super(B.C,self)._init_() 

     def foo(): 
      if self.isConnected: 
       print "error" 

    def __init__(self): 

     super(C, self).__init__() 

sample3.py

Class A(Object): 
    def __init__(self): 
     self.isConnected = False 

每当执行D.disconnect(),我想改变A.isConnected值。如果我不允许调用A.isConnected = False。我如何使用团队来实现我的目标。

如果您能提供一些提示或建议,那将会很棒。

谢谢

+0

我们能看到你的代码? –

+0

如果在定义了'C'类的相同范围内创建了'A',则只需在'c'函数中执行'A.a = whatever'。如果这不适合你,请更全面地描述你现在的设计。 – Kevin

+0

我编辑了我的问题并添加了示例代码 – user2612912

回答

0

我对你的目标不清楚。听起来就像你想在创建变量之前编辑一个变量。

如果不是的话,你应该能够改变A.isConnected用下面的代码:

A.isConnected = True

+0

对不起,我编辑我的帖子并将其清除 – user2612912

相关问题