1 编程方式一
1.1 画状态图
秒表的状态图,其中秒表有:重置,运行中,已停止3个状态
1.2 编写xml文件
秒表状态机定义文件:,xml文件分析请看后面
1.3 编写程序控制状态转移
需要操作的实体类,用来约束秒表的行为:
界面类:
1.4 程序结果分析
程序界面类中的定时器一直在访问 StopWatchEntity的getDisplay属性,来得到秒表的值。我们通过Start,Stop,Reset来控制秒表的状态,在进入某一个状态机的时候,我们调用这个状态机根上下文设置的stopWatcheEntity对象相应的方法,来改变秒表的值。当秒表一直处于某一个状态的时候,我们又通过点击按钮来改变秒表的状态。
2 编程方式2
2.1 画状态图
2.2 编写状态图xml文件
,这个类里面没有了srcipt等标签。
2.3编写程序控制状态转移
需要操作的实体类(同时也是状态机类),用来约束秒表的行为:。这个类中的方法名字和上面的名字稍有不同,这个类里面的名字必须要和所对应的xml文件里面的状态名字相同。这是因为当状态发生转移的时候,进入某一个状态的时候,由框架自身根据反射机制去调用对应的方法。
界面展现类
2.4 程序结果分析
java基础做时钟
程序界面类中的定时器一直在访问 StopWatctStateMachine的getDisplay方法,来得到秒表的值。我们通过Start,Stop,Reset来控制秒表的状态,在进入某一个状态机的时候,由框架自动调用对应状态名相同的的函数,来改变秒表的值。当秒表一直处于某一个状态的时候,我们又通过点击按钮来改变秒表的状态。
源代码中对应的调用语句如下
3 两种方式的总结
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/1771.html