1700478259
1700478260
1700478261
图32-4 策略模式实现人生的类图
1700478262
1700478263
这是非常典型的策略模式,没有太多的玄机,它定义了一个工作算法,然后有三个实现类:孩童工作、成年人工作和老年人工作。我们来看代码,首先看抽象工作算法,如代码清单32-19所示。
1700478264
1700478265
代码清单32-19 抽象工作算法
1700478266
1700478267
public abstract class WorkAlgorithm{
1700478268
1700478269
//每个年龄段都必须完成的工作
1700478270
1700478271
public abstract void work();
1700478272
1700478273
}
1700478274
1700478275
无论如何,每个算法都必须实现work方法,完成对工作内容的定义,三个具体的工作算法如代码清单32-20、32-21、32-22所示。
1700478276
1700478277
代码清单32-20 孩童工作
1700478278
1700478279
public class ChildWork extends WorkAlgorithm{
1700478280
1700478281
//小孩的工作
1700478282
1700478283
@Override
1700478284
1700478285
public void work(){
1700478286
1700478287
System.out.println(“儿童的工作是玩耍!”);
1700478288
1700478289
}
1700478290
1700478291
}
1700478292
1700478293
代码清单32-21 成年人工作
1700478294
1700478295
public class AdultWork extends WorkAlgorithm{
1700478296
1700478297
//成年人的工作
1700478298
1700478299
@Override
1700478300
1700478301
public void work(){
1700478302
1700478303
System.out.println(“成年人的工作就是先养活自己,然后为社会做贡献!”);
1700478304
1700478305
}
1700478306
1700478307
}
1700478308
[
上一页 ]
[ :1.700478259e+09 ]
[
下一页 ]