没有合适的资源?快使用搜索试试~ 我知道了~
在UML当中有状态机视图,这个状态机可以用于自动售货机,自动售票机等等场景,下面是用java代码模拟的一个状态机: 1.状态机接口 package stateMachine; /** * 状态机接口 * @author seacean * @date 2013-8-29 */ public interface State { /** * 投入硬币 */ void insertQuarter(); /** * 根据摇动情况,处理摇动结果,返回处理
资源推荐
资源详情
资源评论
一个一个Java状态机样例的代码状态机样例的代码
在UML当中有状态机视图,这个状态机可以用于自动售货机,自动售票机等等场景,下面是用java代码模拟的一个状态机:
1.状态机接口
package stateMachine;
/**
* 状态机接口
* @author seacean
* @date 2013-8-29
*/
public interface State {
/**
* 投入硬币
*/
void insertQuarter();
/**
* 根据摇动情况,处理摇动结果,返回处理结果,释放糖果
*/
void ejectQuarter();
/**
* 转动摇柄
*/
void turnCrank();
/**
* 机器放出糖果,处理机器内部状态,返回初始可投币状态
*/
void dispense();
}
2.带有状态机的机器
package stateMachine;
/**
* 机器类,包含多种状态,处理流程
* @author seacean
* @date 2013-8-29
*/
public class Machine {
//机器本身包含所有的状态机
private State soldOutState;
private State noQuarterState;
private State hasQuarterState;
private State soldState;
private State state; //机器的当前状态
private int count = 0;//机器中当前糖果的数量
/**
* 初始化机器,引入所有的状态机,初始化糖果数量,初始化机器状态
* @param count
*/
public Machine(int count) {
this.soldOutState = new SoldOutState(this);
this.noQuarterState = new NoQuarterState(this);
this.hasQuarterState = new HasQuarterState(this);
this.soldState = new SoldState(this);
this.count = count;
资源评论
weixin_38733382
- 粉丝: 3
- 资源: 880
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python精典面试题(优于八股文)
- OpenCV、C++、水果识别、Qt界面、颜色识别、边缘检测、图像处理(完整代码)
- exus桌面美化插件是一款模仿MAC桌面风格而开发的桌面壁纸工具,我们不仅可以通过Nexus桌面美化工具来将自己的Windows
- 微信公众号租用管理系统修复版+搭建教程+免授权开心版.zip
- 易语言教程文本打乱的写法
- 使用mqtt协议,将stm32数据上传到阿里云,通过微信小程序远程控制stm32(完整代码)
- 教孩子学编程 python语言版 teachYourKidsToCode
- 基于MATLAB人脸识别代码界面版.zip
- 基于MATLAB人脸识别代码界面版(1).zip
- 基于MATLAB汽车框定源码界面版.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功