打字猴:1.70046432e+09
1700464320
1700464321 public static void main(String[]args){
1700464322
1700464323 //随机挑选几个女性
1700464324
1700464325 Random rand=new Random();
1700464326
1700464327 ArrayList<IWomen>arrayList=new ArrayList();
1700464328
1700464329 for(int i=0;i<5;i++){
1700464330
1700464331 arrayList.add(new Women(rand.nextInt(4),“我要出去逛街”));
1700464332
1700464333 }
1700464334
1700464335 //定义三个请示对象
1700464336
1700464337 Handler father=new Father();
1700464338
1700464339 Handler husband=new Husband();
1700464340
1700464341 Handler son=new Son();
1700464342
1700464343 //设置请示顺序
1700464344
1700464345 father.setNext(husband);
1700464346
1700464347 husband.setNext(son);
1700464348
1700464349 for(IWomen women:arrayList){
1700464350
1700464351 father.HandleMessage(women);
1700464352
1700464353 }
1700464354
1700464355 }
1700464356
1700464357 }
1700464358
1700464359 在Client中设置请求的传递顺序,先向父亲请示,不是父亲应该解决的问题,则由父亲传递到丈夫类解决,若不是丈夫类解决的问题则传递到儿子类解决,最终的结果必然有一个返回,其运行结果如下所示。
1700464360
1700464361 ––—妻子向丈夫请示––-
1700464362
1700464363 妻子的请求是:我要出去逛街
1700464364
1700464365 丈夫的答复是:同意
1700464366
1700464367 ––—女儿向父亲请示––-
1700464368
1700464369 女儿的请求是:我要出去逛街
[ 上一页 ]  [ :1.70046432e+09 ]  [ 下一页 ]