python设计模式(状态模式)

来源:互联网 发布:怪物猎人ol优化内存 编辑:程序博客网 时间:2024/05/20 06:56

学习版本3.5.2

#学习版本3.5.2#状态模式定义:允许一个对象在其内部状态改变时改变它的行为。#举例子:灯泡的开关class LightState(object):    def display(self):        passclass StateOn(LightState):    def action(self, light):#开灯状态下按开关        print("light off")        light.setState(StateOff())class StateOff(LightState):    def action(self, light):#关灯状态下按开关        print("light on")        light.setState(StateOn())class Light(object):    def __init__(self, state):        self.state = state    def setState(self, state):        self.state = state    #按开关    def pressSwith(self):        self.state.action(self)if __name__ == "__main__":    stateoff = StateOff()    li = Light(stateoff)    li.pressSwith()    li.pressSwith()    li.pressSwith()    li.pressSwith()

运行结果

light onlight offlight onlight off


原创粉丝点击