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
1700464191
//丈夫只处理妻子的请求
1700464192
1700464193
public Husband(){
1700464194
1700464195
super(Handler.HUSBAND_LEVEL_REQUEST);
1700464196
1700464197
}
1700464198
1700464199
//丈夫请示的答复
1700464200
1700464201
protected void response(IWomen women){
1700464202
1700464203
System.out.println(”––—妻子向丈夫请示––-“);
1700464204
1700464205
System.out.println(women.getRequest());
1700464206
[
上一页 ]
[ :1.700464157e+09 ]
[
下一页 ]