打字猴:1.70045851e+09
1700458510
1700458511 System.out.println(“悍马H2引擎声音是这样在……”);
1700458512
1700458513 }
1700458514
1700458515 //汽车发动
1700458516
1700458517 public void start(){
1700458518
1700458519 System.out.println(“悍马H2发动……”);
1700458520
1700458521 }
1700458522
1700458523 //停车
1700458524
1700458525 public void stop(){
1700458526
1700458527 System.out.println(“悍马H2停车……”);
1700458528
1700458529 }
1700458530
1700458531 //开动起来
1700458532
1700458533 public void run(){
1700458534
1700458535 //先发动汽车
1700458536
1700458537 this.start();
1700458538
1700458539 //引擎开始轰鸣
1700458540
1700458541 this.engineBoom();
1700458542
1700458543 //然后就开始跑了,跑的过程中遇到一条狗挡路,就按喇叭
1700458544
1700458545 this.alarm();
1700458546
1700458547 //到达目的地就停车
1700458548
1700458549 this.stop();
1700458550
1700458551 }
1700458552
1700458553 }
1700458554
1700458555 好了,程序编写到这里,已经发现问题了,两个实现类的run()方法都是完全相同的,那这个run()方法的实现应该出现在抽象类,不应该在实现类上,抽象是所有子类的共性封装。
1700458556
1700458557 注意 在软件开发过程中,如果相同的一段代码拷贝过两次,就需要对设计产生怀疑,架构师要明确地说明为什么相同的逻辑要出现两次或更多次。
1700458558
1700458559 好,问题发现了,我们就需要马上更改,修改后的类图如图10-2所示。
[ 上一页 ]  [ :1.70045851e+09 ]  [ 下一页 ]