设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 状态模式(State Pattern)
核心思想:对象的状态改变时,同时改变其行为。
一、说明:
1、State 状态(接口);
2、StateA 状态.实现类;
3、StateB 状态.实现类;
4、Context 环境角色类。
二、Java实现,代码如下:
1、State
package com.java.designPattern.state;
/**
* 状态 - 接口
*
*/
public interface State {
public void handle();
}
2、StateA
package com.java.designPattern.state;
/**
* 状态 - 实现类
*
*/
public class StateA implements State {
@Override
public void handle() {
System.out.println("StateA");
}
}
3、StateB
package com.java.designPattern.state;
/**
* 状态 - 实现类
*
*/
public class StateB implements State {
@Override
public void handle() {
System.out.println("StateB");
}
}
4、Context
package com.java.designPattern.state;
/**
* 环境角色类
*
*/
public class Context {
private State state;
public State getState() {
return state;
}
public void setState(State state) {
this.state = state;
this.state.handle();
System.out.println("状态已更新!");
}
}
5、Test
package com.java.designPattern.state;
/**
* 测试类
*
*/
public class Test {
public static void main(String[] args) {
Context context = new Context();
context.setState(new StateA());
System.out.println("--- --- ---");
context.setState(new StateB());
}
}
输出:
StateA
状态已更新!
StateB
状态已更新!