快速业务通道

使用面向对象技术替代switch-case和if-else - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
public boolean passwordRequired() {     return false;    } }

GetMethod.java

package com.zj.subclass; public class GetMethod extends Method{    @Override    public String getMethod() {     return "This is GET method";    }    @Override    public boolean safeMethod() {     return true;    } }

PutMethod.java

package com.zj.subclass; public class PutMethod extends Method {    @Override    public String getMethod() {     return "This is PUT method";    } }

DelMethod.java

package com.zj.subclass; public class DelMethod extends Method{    @Override    public String getMethod(){     return "This is DELETE method";    } }

使用面向对象技术替代switch-case和if-else(3)

时间:2011-03-23 zhangjunhd

2.使用state模式

如果希望对象在生存周期内,可以变化自己的状态,则可以选择state模式。

使用面向对象技术替代switch-case和if-else - 编程入门网

这里抽象状态为一个接口MethodType,四种不同的状态实现该接口。

<<interface>>MethodType.java

package com.zj.state; public interface MethodType {    String getTypeDescription();    String getMethodDescription();    boolean isSafe();    boolean isRequired(); }

Post.java

package com.zj.state; public class Post implements MethodType{    public String getMethodDescription() {     return "This is POST method";    }    public String getTypeDescription() {     return "===POST===";    }    public boolean isRequired() {     return false;    }    public boolean isSafe() {     return false;    } }

Get.java

package com.zj.state; public class Get implements MethodType{    public String getMethodDescription() {     return "This is GET method";    }    public String getTypeDescription() {     return "===GET===";    }    public boolean isRequired() {     return true;    }    public boolean isSafe() {     return true;    } } Put.java package com.zj.state; public class Put implements MethodType{    public String getMethodDescription() {     return "This is PUT method";    }    public String getTypeDescription() {     return "===PUT===";    }    public boolean isRequired() {     return true;    }    public boolean isSafe() {     return false;    } } Delete.java package com.zj.state; public class Delete implements MethodType{    public String getMethodDescription() {     return "This is DELETE method";    }    public String getTypeDescription() {     return "===DELETE===";    }    public boolean isRequired() {     return true;    }    public boolean isSafe() {     return false;    } }

使用面向对象技术替代switch-case和if-else(4)

时间:2011-03-23 zhangjunhd

此时,在类Method中保存一个field表示MethodType,在某对象中,可以随时变化四种已知的状态(具体见runAllMethods()方法)。

Method.java

package com.zj.state; public class Method {    private MethodType _type;    public Method() {     _type = null;   

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号