Я использую 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. Как я могу использовать делегацию для достижения моей цели.
Было бы здорово, если бы вы могли дать некоторые подсказки или предложения.
Thanks
Можем ли мы увидеть код? –
Если 'A' создается в той же области действия, что и класс' C', тогда вам нужно только 'A.a = whatever' в' c'. Если это не сработает для вас, более подробно описывайте свой текущий дизайн. – Kevin
Я отредактировал свой вопрос и добавлю код примера – user2612912