轻松掌握Java状态模式
定义:在状态模式(StatePattern)中,类的行为是基于它的状态改变的。
特点:
1、封装了转换规则。
2、枚举可能的状态,在枚举状态之前需要确定状态种类。
3、将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为。
4、允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块。
5、可以让多个环境对象共享一个状态对象,从而减少系统中对象的个数。
企业及开发和常用框架中的应用:
实例:
publicclassDemo{
publicstaticvoidmain(String[]args){
Contextcontext=newContext();
Statemove=newMove();
move.show(context);
Statestop=newStop();
stop.show(context);
}
}
classContext{
privateStatestate;
publicvoidsetState(Statestate){
System.out.println("给物体加持状态");
this.state=state;
}
}
interfaceState{
voidshow(Contextcontext);
}
classMoveimplementsState{
publicvoidshow(Contextcontext){
context.setState(this);
System.out.println("物体处于运动状态");
}
}
classStopimplementsState{
publicvoidshow(Contextcontext){
context.setState(this);
System.out.println("物体处于静止状态");
}
}
状态模式是用于对象状态比较多的情况,比如完成一件事的时候有未完成、已完成、进行中、搁置等状态,这时候就可以考虑是用状态模式。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短