一個對象的屬性可以是另外一個類創建的對象
class Gun:
def __init__(self, model):
self.model = model
self.bullet_count = 0
def add_bullet(self, count):
self.bullet_count += count
def shoot(self):
if self.bullet_count <= 0:
return
self.bullet_count -= 1
print("發射子彈")
class Soldier:
def __init__(self, name):
self.name = name
self.gun = None
def fire(self):
if self.gun == None:
print("士兵沒有槍")
return
self.gun.add_bullet(50) #在士兵開槍的時候,調用封裝在Gun類中的裝填子彈的方法
self.gun.shoot()#在士兵開槍的時候,調用封裝在Gun類中的發射子彈的方法
AK47 = Gun("AK47")
許三多 = Soldier("許三多")
許三多.gun = AK47
許三多.fire()
print(許三多.gun.bullet_count)