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, number): #方法:射擊
if self.bullet_count <= 15 : #判斷子彈都不夠(假設15發以內就不夠)
print('%s子彈不夠了' %(self.model))
return #如果不夠就直接返回不再執行
self.bullet_count -= number #如果夠就射擊(每次射擊的子彈數目由外部給入)
class soldier : #定義士兵類
def __init__(self, name): #士兵的屬性有名字、是否有槍
self.name = name
self.gun = none #剛開始定義士兵沒槍
def fire(self): #方法:**
if self.gun is none : #先判斷士兵是否有槍(用is判斷非數值的屬性)
print('%s 沒有槍!' %(self.name))
return
self.gun.add_bullet(60) #新增子彈,呼叫槍的新增子彈方法
print('%s使用%s射擊!!' % (self.name, self.gun.model)) #給出命令
self.gun.shoot(15) #射擊,呼叫槍類的射擊方法
print('還剩%.f發子彈' % (self.gun.bullet_count)) #告訴我們還剩多少發子彈
uzi = gun('uzi') #先來把槍
soldier = soldier('hero') #再來個兵
soldier.gun = uzi #把槍給兵,如果沒給就執行,程式會提示沒有槍
soldier.fire() #呼叫**方法
執行結果為
hero使用uzi射擊!!
還剩45發子彈
python物件導向程式設計例項
本案例設計的是 為購置的新房添置家具,在本案例中,我們需要給出指定的房屋和面積,在為其添置家具的過程中,各家具的面積之和不能超過房屋面積的總和。房屋及家具的面積需要由使用者手動輸入,也可以自定義增加房屋選項或家具選項。房子要使用到家具,被使用的類通常先開發 class houseitem def i...
python物件導向2
主要通用 新增到屬性名前,可以讓該屬性得到乙個保護 class wudang name 武當 kongfu list aaa bbb ccc wd wudang print wd.name print wd.kong list 定義類的時候,如果希望繼承自另外乙個類 可以通過 class 類名 父類...
Python 物件導向2
instance 和 issubclass class foo pass foo foo print isinstance foo,foo print isinstance 1 int true trueclass foo pass foo foo print isinstance foo,foo ...