1700478340
1700478341
this.workMethod=work;
1700478342
1700478343
}
1700478344
1700478345
//每个算法都有必须具有的功能
1700478346
1700478347
public void work(){
1700478348
1700478349
workMethod.work();
1700478350
1700478351
}
1700478352
1700478353
}
1700478354
1700478355
我们编写一个场景类来模拟该场景,如代码清单32-24所示。
1700478356
1700478357
代码清单32-24 场景类
1700478358
1700478359
public class Client{
1700478360
1700478361
public static void main(String[]args){
1700478362
1700478363
//定义一个环境角色
1700478364
1700478365
Context context=new Context();
1700478366
1700478367
System.out.println(”====儿童的主要工作=====”);
1700478368
1700478369
context.setWork(new ChildWork());
1700478370
1700478371
context.work();
1700478372
1700478373
System.out.println(”\n====成年人的主要工作=====”);
1700478374
1700478375
context.setWork(new AdultWork());
1700478376
1700478377
context.work();
1700478378
1700478379
System.out.println(”\n====老年人的主要工作=====”);
1700478380
1700478381
context.setWork(new OldWork());
1700478382
1700478383
context.work();
1700478384
1700478385
}
1700478386
1700478387
}
1700478388
1700478389
在这里我们把每个不同的工作内容作为不同的算法,分别是孩童工作、成年人工作、老年人工作算法,然后在场景类中根据不同的年龄段匹配不同的工作内容,其运行结果如下所示:
[
上一页 ]
[ :1.70047834e+09 ]
[
下一页 ]