状态模式

来源:互联网 发布:树状结构软件 编辑:程序博客网 时间:2024/06/10 17:54

package state;/*** * 房间对象 * 持有不同对象 * @author zw * */public class Context {private State state;public void setState(State state) {System.out.println("修改状态");this.state = state;state.handle();}}

package state;public interface State {void handle();}

package state;/*** * 预定状态  * @author zw * */public class FreeState implements State{@Overridepublic void handle() {// TODO Auto-generated method stubSystem.out.println("房间已经预定,别人不能预定");}}

package state;/*** * 入住 状态  * @author zw * */public class InState2 implements State{@Overridepublic void handle() {// TODO Auto-generated method stubSystem.out.println("房间已经入住,请勿打扰");}}


package state;/*** * 空闲状态 * @author zw * */public class Reserve implements State{@Overridepublic void handle() {// TODO Auto-generated method stubSystem.out.println("房间空闲,没人住");}}



package state;public class Client {public static void main(String[] args) {State s1 = new FreeState();State s2 = new Reserve();State s3 = new InState2();Context c = new Context();c.setState(s1);c.setState(s2);c.setState(s3);}}


原创粉丝点击