打字猴:1.70045917e+09
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 ]  [ 下一页 ]