状态模式(状态对象模式):将状态和行为绑定起来,允许一个对象内部状态改变的时候,改变其行为!
本质上是将行为封装在状态中。
角色:1、状态行为的抽象 2、实际状态对象 3、状态环境(将状态作为成员变量)
下面看实际代码:
状态行为抽象

ILoan
实际状态(状态对应行为的实现)
名字命名不太恰当,实际上这个类并不是person,而是person的状态!

GeneralPerson

VIPPerson
状态环境

Person
测试

StateTest
状态模式(状态对象模式):将状态和行为绑定起来,允许一个对象内部状态改变的时候,改变其行为!
本质上是将行为封装在状态中。
角色:1、状态行为的抽象 2、实际状态对象 3、状态环境(将状态作为成员变量)
下面看实际代码:
状态行为抽象
ILoan
实际状态(状态对应行为的实现)
名字命名不太恰当,实际上这个类并不是person,而是person的状态!
GeneralPerson
VIPPerson
状态环境
Person
测试
StateTest