1700459170
}
1700459171
1700459172
}
1700459173
1700459174
//把传递过来的值传递到类内
1700459175
1700459176
final public void setSequence(ArrayList<String>sequence){
1700459177
1700459178
this.sequence=sequence;
1700459179
1700459180
}
1700459181
1700459182
}
1700459183
1700459184
CarModel的设计原理是这样的,setSequence方法是允许客户自己设置一个顺序,是要先启动响一下喇叭再跑起来,还是要先响一下喇叭再启动。对于一个具体的模型永远都固定的,但是对N多个模型就是动态的了。在子类中实现父类的基本方法,run()方法读取sequence,然后遍历sequence中的字符串,哪个字符串在先,就先执行哪个方法。
1700459185
1700459186
两个实现类分别实现父类的基本方法,奔驰模型如代码清单11-2所示。
1700459187
1700459188
代码清单11-2 奔驰模型代码
1700459189
1700459190
public class BenzModel extends CarModel{
1700459191
1700459192
protected void alarm(){
1700459193
1700459194
System.out.println(“奔驰车的喇叭声音是这个样子的……”);
1700459195
1700459196
}
1700459197
1700459198
protected void engineBoom(){
1700459199
1700459200
System.out.println(“奔驰车的引擎室这个声音的……”);
1700459201
1700459202
}
1700459203
1700459204
protected void start(){
1700459205
1700459206
System.out.println(“奔驰车跑起来是这个样子的……”);
1700459207
1700459208
}
1700459209
1700459210
protected void stop(){
1700459211
1700459212
System.out.println(“奔驰车应该这样停车……”);
1700459213
1700459214
}
1700459215
1700459216
}
1700459217
1700459218
宝马车模型如代码清单11-3所示。
1700459219
[
上一页 ]
[ :1.70045917e+09 ]
[
下一页 ]