java状态模式例子答案_Java状态模式

本篇文章帮大家学习java状态模式,包含了Java状态模式使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

在状态模式中,类行为根据其状态而改变。 这种设计模式属于行为模式。在状态模式中,我们创建表示各种状态的对象,以及随状态对象变化而行为变化的上下文对象。

实现

我们将创建一个State接口来定义一个动作并实现State接口的具体状态类。Context是一个载有一个状态的类。

演示类StatePatternDemo将使用Context和状态对象来演示上下文行为基于它所处的状态类型的变化。

第1步:创建一个接口,State.java -

public interface State {

public void doAction(Context context);

}

第2步:创建实现相同接口的具体类。StartState.java -

public class StartState implements State {

public void doAction(Context context) {

System.out.println("Player is in start state");

context.setState(this);

}

public String toString(){

return "Start State";

}

}

文件:StopState.java -

public class StopState implements State {

public void doAction(Context context) {

System.out.println("Player is in stop state");

context.setState(this);

}

public String toString(){

return "Stop State";

}

}

第3步:创建 Context 类,Context.java -

public class Context {

private State state;

public Context(){

state = null;

}

public void setState(State state){

this.state = state;

}

public State getState(){

return state;

}

}

第4步:使用Context查看状态更改时的行为更改。StatePatternDemo.java -

public class StatePatternDemo {

public static void main(String[] args) {

Context context = new Context();

StartState startState = new StartState();

startState.doAction(context);

System.out.println(context.getState().toString());

StopState stopState = new StopState();

stopState.doAction(context);

System.out.println(context.getState().toString());

}

}

第5步:验证输出结果 -

Player is in start state

Start State

Player is in stop state

Stop State

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值