1个对象调用加载或调用另外1个对象例子。
gun.py
class Gun:
def __init__(self, model):
self.model = model
self.bullet_count = 0
def add_bullet(self, number):
"""添加子弹"""
self.bullet_count = number
def shot(self):
self.bullet_count -= 1
print("Bang!")
soldier.py
from gun import Gun
class Soldier:
def __init__(self, name):
self.name = name
self.gun = None
def getGun(self,gun):
self.gun = gun
def add_bullet(self, numbers):
self.gun.add_bullet(numbers)
print("已填装50发子弹")
def fire(self):
if self.gun is None:
print("士兵没有枪!")
return
if self.gun.bullet_count == 0:
print("枪没有子弹!")
return
self.gun.shot()
if __name__ == '__main__':
ak47 = Gun("AK47")
Max = Soldier("Max")
Max.getGun(ak47)
Max.add_bullet(50)
Max.fire()
print(Max.gun.bullet_count)