打字猴:1.700464141e+09
1700464141 *还向父亲请示是否可以逛街,那父亲就应该告诉女儿,应该找丈夫请示
1700464142
1700464143 */
1700464144
1700464145 public void setNext(Handler_handler){
1700464146
1700464147 this.nextHandler=_handler;
1700464148
1700464149 }
1700464150
1700464151 //有请示那当然要回应
1700464152
1700464153 protected abstract void response(IWomen women);
1700464154
1700464155 }
1700464156
1700464157 方法比较长,但是还是比较简单的,读者有没有看到,其实在这里也用到模板方法模式,在模板方法中判断请求的级别和当前能够处理的级别,如果相同则调用基本方法,做出反馈;如果不相等,则传递到下一个环节,由下一环节做出回应,如果已经达到环节结尾,则直接做不同意处理。基本方法response需要各个实现类实现,每个实现类只要实现两个职责:一是定义自己能够处理的等级级别;二是对请求做出回应,我们首先来看首节点Father类,如代码清单16-9所示。
1700464158
1700464159 代码清单16-9 父亲类
1700464160
1700464161 public class Father extends Handler{
1700464162
1700464163 //父亲只处理女儿的请求
1700464164
1700464165 public Father(){
1700464166
1700464167 super(Handler.FATHER_LEVEL_REQUEST);
1700464168
1700464169 }
1700464170
1700464171 //父亲的答复
1700464172
1700464173 protected void response(IWomen women){
1700464174
1700464175 System.out.println(”––—女儿向父亲请示––-“);
1700464176
1700464177 System.out.println(women.getRequest());
1700464178
1700464179 System.out.println(“父亲的答复是:同意\n”);
1700464180
1700464181 }
1700464182
1700464183 }
1700464184
1700464185 丈夫类定义自己能处理的等级为2的请示,如代码清单16-10所示。
1700464186
1700464187 代码清单16-10 丈夫类
1700464188
1700464189 public class Husband extends Handler{
1700464190
[ 上一页 ]  [ :1.700464141e+09 ]  [ 下一页 ]