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

Java 枚举兑现状态模式的一种尝试

2012-12-24 
Java 枚举实现状态模式的一种尝试关键词:设计模式? state? Java ? //枚举:公文状态enum State {CREATING()

Java 枚举实现状态模式的一种尝试

关键词:设计模式? state? Java



? //枚举:公文状态

enum State {    CREATING(){@Overridepublic void handle(Document1 document) {//公文创建中的处理代码document.setState(CREATED);System.out.println("公文已创建完成");}        },    CREATED(){@Overridepublic void handle(Document1 document) {//公文创建完成的处理代码document.setState(SEND_ONE_CHARGE);System.out.println("公文已送二级主管");}        },    SEND_ONE_CHARGE(){@Overridepublic void handle(Document1 document) {//公文发送二级主管处理代码document.setState(SEND_SUPER_CHARGE);System.out.println("公文已送一级主管");}        },    SEND_SUPER_CHARGE(){    @Overridepublic void handle(Document1 document) {    //公文发送一级主管处理代码document.setState(APPROVED);System.out.println("公文已审批完成");}    },    APPROVED(){@Overridepublic void handle(Document1 document) {//公文审批完成代码System.out.println("公文已结束");}        };abstract void handle(Document1 document);}
//公文类class Document {private State state;public Document() {state = State.CREATING;}public State getState() {return state;}public void setState(State state) {this.state = state;}public void handle() {state.handle(this);}public static void main(String[] args) {Document document = new Document();document.handle();document.handle();document.handle();document.handle();document.handle();}}
?

?

/**
运行结果:

公文已创建完成
公文已送二级主管
公文已送一级主管
公文已审批完成
公文已结束

*/
? 上述尝试,请高手指正!谢谢!

?

热点排行