设计模式之状态模式
来源:互联网 发布:人工智能 估值 编辑:程序博客网 时间:2024/06/05 07:39
实现代码
public interface State { void handle();}/** * 空闲状态 * @author Administrator * */public class FreeState implements State { @Override public void handle() { System.out.println("房间空闲!!!没人住!"); }}/** * 已入住状态 * @author Administrator * */public class CheckedInState implements State { @Override public void handle() { System.out.println("房间已入住!请勿打扰!"); }}/** * 已预订状态 * @author Administrator * */public class BookedState implements State { @Override public void handle() { System.out.println("房间已预订!别人不能定!"); }}
/** * 房间对象 * @author Administrator * */public class HomeContext { //如果是银行系统,这个Context类就是账号。根据金额不同,切换不同的状态! private State state; public void setState(State s){ System.out.println("修改状态!"); state = s; state.handle(); }}
public class Client { public static void main(String[] args) { HomeContext ctx = new HomeContext(); ctx.setState(new FreeState()); ctx.setState(new BookedState()); }}
阅读全文
0 0
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之--状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 【设计模式】之状态模式
- POJ
- 数据库部分
- 4.S5PV210串口通信详解(二)
- Extreme公司准备购买博科数据中心网络业务
- Hibernate-Inverse属性
- 设计模式之状态模式
- 【C#学习】访问限制修饰符
- fzu 2113 Jason的特殊爱好
- 考前定位(中)
- rabbitMQ的简单介绍与安装
- Session原理
- Vue cli 引入第三方JS和CSS的常用方法
- 设计师的灵魂
- KMP算法