行为型模式之状态模式

2018-05-08  本文已影响24人  0爱上1

定义:

    当一个对象内在状态发生改变时,允许其行为发生了变化,看起来像是改变了它的类一样。

其实就是把各种状态抽象处理成为状态接口,然后再定义每一种具体的状态实现类,对状态的更改被封装到了各自的状态类中,结构清晰,扩展性也好。

UML类图:

1

代码实现:

以下代码实现根据实际生活中的红绿灯状态转换。我们知道每一个路口的红绿灯切换其实就是一个很好的状态模式的应用场景

1:内容类---交通灯

2

2:抽象状态接口---交通灯接口

3

3:具体的状态实现类---红灯状态

4

4:黄灯状态

5

5:绿灯状态

6

6:测试类

7

7:结果

8

结论:

    采用状态模式可以为对象提供一个清晰的状态标识。

    允许一个对象在运行时部分清晰明了的改变其行为,即通过改变内容类中的ConcreteState对象,我们可以实现达到改变内容类行为的目的。

上一篇 下一篇

猜你喜欢

热点阅读