打字猴:1.700454539e+09
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 }
1700454557
1700454558 }
1700454559
1700454560 有了枪支,还要有能够使用这些枪支的士兵,其源程序如代码清单2-3所示。
1700454561
1700454562 代码清单2-3 士兵的实现类
1700454563
1700454564 public class Soldier{
1700454565
1700454566 //定义士兵的枪支
1700454567
1700454568 private AbstractGun gun;
1700454569
1700454570 //给士兵一支枪
1700454571
1700454572 public void setGun(AbstractGun_gun){
1700454573
1700454574 this.gun=_gun;
1700454575
1700454576 }
1700454577
1700454578 public void killEnemy(){
1700454579
1700454580 System.out.println(“士兵开始杀敌人……”);
1700454581
1700454582 gun.shoot();
1700454583
1700454584 }
1700454585
1700454586 }
1700454587
1700454588 注意粗体部分,定义士兵使用枪来杀敌,但是这把枪是抽象的,具体是手枪还是步枪需要在上战场前(也就是场景中)前通过setGun方法确定。场景类Client的源代码如代码清单2-4所示。
[ 上一页 ]  [ :1.700454539e+09 ]  [ 下一页 ]