首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式之状态模式

2012-09-12 
设计模式之状态模式状态模式:概述:不同的状态对应不同的行为,也就是说每个状态都有着相应的行为.优点:封装

设计模式之状态模式
    状态模式:
        概述:不同的状态对应不同的行为,也就是说每个状态都有着相应的行为.
        优点:封装转换过程,也就是转换规则
             枚举可能的状态,因此,需要事先确定状态种类.
    我举一个生活中的例子,比如打电话,电话的状态分为,正在通话中,关机状态,正常状态
   

package com.mode.state;public interface State {void execute(String oprate);}package com.mode.state;public class Ring {private State state;public State getState() {return state;}public void setState(State state) {this.state = state;}public void operate(String operate){state.execute(operate);}}package com.mode.state;public class Shutdown implements State {@Overridepublic void execute(String oprate) {System.out.println("Shutdown.execute()  "+oprate+"请稍候再拨");}}package com.mode.state;public class Call implements State {@Overridepublic void execute(String oprate) {System.out.println("Call.execute() "+oprate+"正在通话中");}}package com.mode.state;public class Normal implements State {@Overridepublic void execute(String oprate) {System.out.println("Normal.execute() "+oprate+"嘟嘟嘟.....");}}package com.mode.state;public class Client {public static void main(String[] args) {Saute saute = new Saute();saute.setState(new Call());saute.operate("对不起,你拨打的用户");saute.setState(new Normal());saute.operate("马上为你接通");saute.setState(new Shutdown());saute.operate("对不起,你拨打的电话已关机,");}}    

热点排行