代码写的不够规范,目的是为了缩短篇幅,实际中请不要这样做 参看:https://www.runoob.com/design-pattern/state-pattern.html 1.概述 这个有点抽象,我的理解是: 行为受到状态的变化而变化.举一个例子,篮球员动员,如果运动员这会儿状态好,命中率(投球)就会上升.再比如人的情绪变化,可能会导致不同的行为.比如高兴,是动作A,犹豫,动作B. 需要用的角色,主要分为2类,A.状态(state),B.上下文(context). 2.抽象状态 // 抽象…