类实例化2--士兵开火

 1 class Gun:
 2     """武器"""
 3     def __init__(self,model):
 4 
 5         # 枪的类型
 6         self.model = model
 7         # 弹药
 8         self.bullen_counts = 0
 9 
10     def add_bullen(self,count):
11         # 添加子弹
12         self.bullen_counts += count
13 
14 
15     def shoot(self):
16         # 判断有没有子弹
17         if self.bullen_counts == 0:
18             print("%s没弹药了" % self.model)
19             return
20 
21         self.bullen_counts -= 1
22         print("【%s】突突突。。。。【%d】" % (self.model,self.bullen_counts))
23 
24 
25 class Solider:
26     """士兵"""
27     def __init__(self,name):
28         # 名字
29         self.name = name
30         # 武器
31         self.gun = None
32 
33     def fire(self):
34         # 判断是否有枪
35         if self.gun is None:
36             print("%s还没有枪" % self.name)
37             return
38 
39         # 喊口号
40         print("冲啊。。。。【%s】" % self.name)
41         # 装子弹
42         self.gun.add_bullen(50)
43         # 开火
44         self.gun.shoot()
45 
46 ak47 = Gun("AK47")
47 
48 xusanduo = Solider("许三多")
49 xusanduo.gun = ak47
50 xusanduo.fire()
冲啊。。。。【许三多】
【AK47】突突突。。。。【49】

  

原文地址:https://www.cnblogs.com/yifengs/p/11345773.html