Python状态模式

状态模式,就像某一个人在儿童、青年、老年所展现的状态是不同的。

class Obj(object):
    def __init__(self, status):
        self.status = status

    def do(self):
        which_do = {"low": self.low_do,
                    "middle": self.middle_do,
                    "high": self.high_do
                    }
        which_do[self.status]()

    def low_do(self):
        print("low_do")

    def middle_do(self):
        print("middle_do")

    def high_do(self):
        print("high_do")


def main():
    obj = Obj('low')
    obj.do()
    obj.status = 'middle'
    obj.do()


if __name__ == '__main__':
    main()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 标签: python 设计模式 引子 状态模式确实很好玩,我是说书上的例子确实很好玩,我对着电脑玩了好长时间,但是...
    plectrum阅读 2,837评论 0 7
  • 赠钱征君①少阳 李白 白玉一杯酒,绿杨三月时。 春风②余几日,两鬓各成丝。 秉烛唯须饮,投竿③也未迟。 如逢渭水猎...
    古诗新读阅读 2,252评论 0 0
  • 看了荒野猎人,震撼到半天回不过神来。影片以一个荒蛮 宏大的原始自然为背景,时刻彰显着天地不仁,视万物为刍狗。 远观...
    一条小鱼两条小鱼阅读 468评论 0 0
  • 看到快完了,才开始脑洞大开。 最终还是查知乎才知道细节。 下次有空再从新看一遍吧
    懵懵陳陳阅读 982评论 0 0