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所示。
1700454589
1700454590
代码清单2-4 场景类
1700454591
1700454592
public class Client{
1700454593
1700454594
public static void main(String[]args){
1700454595
1700454596
//产生三毛这个士兵
1700454597
1700454598
Soldier sanMao=new Soldier();
1700454599
1700454600
//给三毛一支枪
1700454601
1700454602
sanMao.setGun(new Rifle());
1700454603
1700454604
sanMao.killEnemy();
1700454605
1700454606
}
[
上一页 ]
[ :1.700454557e+09 ]
[
下一页 ]