# _*_ coding:utf-8 _*_
from random import randint
from time import sleep
__author__ = 'admin'
'''
23种设计模式之状态模式:有限状态机
下面介绍了灯的三种状态:
1.开着
2.灭着
3.坏了
其中"坏了"的状态下,若是修好了,必然进入灭着的状态
'''
# Light类
class Light(object):
def __init__(self, name):
self.name = name
self.state = ""
self.fsm = None
# 开灯方法
def lightOn(self):
# 打印语句代替行为
print("灯亮着[%s]" % self.name)
# 关灯方法
def lightOff(self):
print("灯灭着[%s]" % self.name)
# 坏灯方法
def lightBroken(self):
print("灯坏了[%s]" % self.name)
# 绑定状态机
def bind(self, state, fsm):
self.state = state
self.fsm = fsm
# 定义状态
class State(object):
def exec(self, obj):
pass
def exit(self, obj):
pass
# 定义开灯状态,继承State(这里就是写进入该状态时该干那些事情,退出该状态时该干那些事情)
class OnState(State):
# 进入还状态无非就是,将灯做打开操作
def exec(self, obj):
obj.lightOn()
# 退出该状态,无非就是,将灯做关闭操作
def exi
Python:有限状态机实例(一)
最新推荐文章于 2025-06-17 22:15:00 发布