您的位置:首页 > 编程语言 > Go语言

GOF23之状态模式

2017-05-19 09:47 218 查看




package com.gof.state;

public interface State {
void  handle();
}

package com.gof.state;

/**
* 空闲状态
* @author root
*
*/
public class FreeState implements State {

@Override
public void handle() {
System.out.println("空闲状态,没人住");
}

}

package com.gof.state;

/**
* 预定状态
* @author root
*
*/
public class BookedState implements State {

@Override
public void handle() {
System.out.println("房间以预定,别人不能定");
}

}

package com.gof.state;

/**
* 入住状态
* @author root
*
*/
public class CheckInState implements State {

@Override
public void handle() {
System.out.println("房间已经入住,请勿打扰");
}

}

package com.gof.state;

public class Context {
private State state;

public void setState(State s ) {
System.out.println("修改状态");
state=s;
state.handle();
}
}

package com.gof.state;

public class Client {
public static void main(String[] args) {
Context context = new Context();
context.setState(new CheckInState());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: