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 ]
[
下一页 ]