1700459229
1700459230
protected void engineBoom(){
1700459231
1700459232
System.out.println(“宝马车的引擎室这个声音的……”);
1700459233
1700459234
}
1700459235
1700459236
protected void start(){
1700459237
1700459238
System.out.println(“宝马车跑起来是这个样子的……”);
1700459239
1700459240
}
1700459241
1700459242
protected void stop(){
1700459243
1700459244
System.out.println(“宝马车应该这样停车……”);
1700459245
1700459246
}
1700459247
1700459248
}
1700459249
1700459250
两个产品的实现类都完成,我们来模拟一下XX公司的要求:生产一个奔驰模型,要求跑的时候,先发动引擎,然后再挂挡启动,然后停下来,不需要喇叭。这个需求很容易满足,我们增加一个场景类实现该需求,如代码清单11-4所示。
1700459251
1700459252
代码清单11-4 宝马模型代码
1700459253
1700459254
public class Client{
1700459255
1700459256
public static void main(String[]args){
1700459257
1700459258
/*
1700459259
1700459260
*客户告诉XX公司,我要这样一个模型,然后XX公司就告诉我老大
1700459261
1700459262
*说要这样一个模型,这样一个顺序,然后我就来制造
1700459263
1700459264
*/
1700459265
1700459266
BenzModel benz=new BenzModel();
1700459267
1700459268
//存放run的顺序
1700459269
1700459270
ArrayList<String>sequence=new ArrayList<String>();
1700459271
1700459272
sequence.add(“engine boom”);//客户要求,run的时候时候先发动引擎
1700459273
1700459274
sequence.add(“start”);//启动起来
1700459275
1700459276
sequence.add(“stop”);//开了一段就停下来
1700459277
1700459278
//我们把这个顺序赋予奔驰车
[
上一页 ]
[ :1.700459229e+09 ]
[
下一页 ]