1700458832
图10-4 扩展悍马车模类图
1700458833
1700458834
类图改动似乎很小,在抽象类HummerModel中增加了一个实现方法isAlarm,确定各个型号的悍马是否需要声音,由各个实现类覆写该方法,同时其他的基本方法由于不需要对外提供访问,因此也设计为protected类型。其源代码如代码清单10-9所示。
1700458835
1700458836
代码清单10-9 扩展后的抽象模板类
1700458837
1700458838
public abstract class HummerModel{
1700458839
1700458840
/*
1700458841
1700458842
*首先,这个模型要能够被发动起来,别管是手摇发动,还是电力发动,反正
1700458843
1700458844
*是要能够发动起来,那这个实现要在实现类里了
1700458845
1700458846
*/
1700458847
1700458848
protected abstract void start();
1700458849
1700458850
//能发动,那还要能停下来,那才是真本事
1700458851
1700458852
protected abstract void stop();
1700458853
1700458854
//喇叭会出声音,是滴滴叫,还是哔哔叫
1700458855
1700458856
protected abstract void alarm();
1700458857
1700458858
//引擎会轰隆隆的响,不响那是假的
1700458859
1700458860
protected abstract void engineBoom();
1700458861
1700458862
//那模型应该会跑吧,别管是人推的,还是电力驱动,总之要会跑
1700458863
1700458864
final public void run(){
1700458865
1700458866
//先发动汽车
1700458867
1700458868
this.start();
1700458869
1700458870
//引擎开始轰鸣
1700458871
1700458872
this.engineBoom();
1700458873
1700458874
//要让它叫的就是就叫,喇嘛不想让它响就不响
1700458875
1700458876
if(this.isAlarm()){
1700458877
1700458878
this.alarm();
1700458879
1700458880
}
1700458881
[
上一页 ]
[ :1.700458832e+09 ]
[
下一页 ]