1. 程式人生 > >Python----一個物件的屬性可以是另外一個型別建立的物件

Python----一個物件的屬性可以是另外一個型別建立的物件

士兵的例子

class Gun:
    def __init__(self, model):

        # 1. 槍的型號
        self.model = model

        # 2. 子彈的數量
        self.bullet_count = 0

    def add_bullet(self, count):

        self.bullet_count += count

    def shoot(self):

        # 1. 判斷字彈的數量
        if self.bullet_count <= 0:
            print("[%s] 沒有字彈了..."
% self.model) return # 2. 發射子彈 self.bullet_count -= 1 # 3. 提示發射資訊 print("[%s] 突突突...子彈有: [%d]" % (self.model, self.bullet_count))

建立槍物件

ak47 = Gun(‘ak47’)
ak47.add_bullet(30)
ak47.shoot()
ak47.shoot()

class Soldier:
    def __init__(self, name):
        self.name = name
        self.gun = None
# 私有 def fire(self): # 1. 判斷士兵是否有槍 if self.gun is None: # 身份運算子(is) 可以替換(==) print("[%s] 還沒有槍..." % self.name) return # 2. 口號 print("衝啊... [%s]" % self.name) # 3. 裝子彈 self.gun.add_bullet(30) # 4. 發射子彈 self.gun.shoot()

建立一個士兵

jack = Soldier(“jack”)
jack.gun = ak47
jack.fire()
print(jack.gun)