Created on Sun Mar 18 00:30:51 2018
@author: mz
"""
class Original(object):
def save(self, state):
print("save status: %s" %(state))
self.__status = state
def get(self, memocare):
return memocare.resume()
class Memo(object):
def setStatus(self, state):
self.__state = state
def getStatus(self):
return self.__state
class MemoTaker(object):
def save(self, memo):
print("back up memo")
self.__memo = memo
def resume(self):
return self.__memo.getStatus()
if "__main__" == __name__:
orignal = Original()
status = "Ready to attach enemies"
orignal.save("Ready to attach enemies")
memo = Memo()
memo.setStatus(status)
memoCare = MemoTaker()
memoCare.save(memo)
orignal.save("a huge loss, turn back to memo")
print(orignal.get(memoCare))
运行结果:
save status: Ready to attach enemies
back up memo
save status: a huge loss, turn back to memo
Ready to attach enemies