打字猴:1.70045473e+09
1700454730
1700454731 aug.shoot();
1700454732
1700454733 }
1700454734
1700454735 }
1700454736
1700454737 狙击手,为什么叫Snipper?Snipe翻译过来就是鹬,就是“鹬蚌相争,渔人得利”中的那只鸟,英国贵族到印度打猎,发现这个鹬很聪明,人一靠近就飞走了,没办法就开始伪装、远程精准射击,于是乎Snipper就诞生了。
1700454738
1700454739 狙击手使用狙击枪来杀死敌人,业务场景Client类的源代码如代码清单2-9所示。
1700454740
1700454741 代码清单2-9 狙击手使用AUG杀死敌人
1700454742
1700454743 public class Client{
1700454744
1700454745 public static void main(String[]args){
1700454746
1700454747 //产生三毛这个狙击手
1700454748
1700454749 Snipper sanMao=new Snipper();
1700454750
1700454751 sanMao.setRifle(new AUG());
1700454752
1700454753 sanMao.killEnemy();
1700454754
1700454755 }
1700454756
1700454757 }
1700454758
1700454759 狙击手使用G3杀死敌人,运行结果如下所示:
1700454760
1700454761 通过望远镜察看敌人……
1700454762
1700454763 AUG射击……
1700454764
1700454765 在这里,系统直接调用了子类,狙击手是很依赖枪支的,别说换一个型号的枪了,就是换一个同型号的枪也会影响射击,所以这里就直接把子类传递了进来。这个时候,我们能不能直接使用父类传递进来呢?修改一下Client类,如代码清单2-10所示。
1700454766
1700454767 代码清单2-10 使用父类作为参数
1700454768
1700454769 public class Client{
1700454770
1700454771 public static void main(String[]args){
1700454772
1700454773 //产生三毛这个狙击手
1700454774
1700454775 Snipper sanMao=new Snipper();
1700454776
1700454777 sanMao.setRifle((AUG)(new Rifle()));
1700454778
1700454779 sanMao.killEnemy();
[ 上一页 ]  [ :1.70045473e+09 ]  [ 下一页 ]