1700454507
1700454508
枪的主要职责是射击,如何射击在各个具体的子类中定义,手枪是单发射程比较近,步枪威力大射程远,机枪用于扫射。在士兵类中定义了一个方法killEnemy,使用枪来杀敌人,具体使用什么枪来杀敌人,调用的时候才知道,AbstractGun类的源程序如代码清单2-1所示。
1700454509
1700454510
代码清单2-1 枪支的抽象类
1700454511
1700454512
public abstract class AbstractGun{
1700454513
1700454514
//枪用来干什么的?杀敌!
1700454515
1700454516
public abstract void shoot();
1700454517
1700454518
}
1700454519
1700454520
手枪、步枪、机枪的实现类如代码清单2-2所示。
1700454521
1700454522
代码清单2-2 手枪、步枪、机枪的实现类
1700454523
1700454524
public class Handgun extends AbstractGun{
1700454525
1700454526
//手枪的特点是携带方便,射程短
1700454527
1700454528
@Override
1700454529
1700454530
public void shoot(){
1700454531
1700454532
System.out.println(“手枪射击……”);
1700454533
1700454534
}
1700454535
1700454536
}
1700454537
1700454538
public class Rifle extends AbstractGun{
1700454539
1700454540
//步枪的特点是射程远,威力大
1700454541
1700454542
public void shoot(){
1700454543
1700454544
System.out.println(“步枪射击……”);
1700454545
1700454546
}
1700454547
1700454548
}
1700454549
1700454550
public class MachineGun extends AbstractGun{
1700454551
1700454552
public void shoot(){
1700454553
1700454554
System.out.println(“机枪扫射……”);
1700454555
1700454556
}
[
上一页 ]
[ :1.700454507e+09 ]
[
下一页 ]