士兵突擊的封裝

2021-10-23 01:52:49 字數 1507 閱讀 3747

class

gun:

def__init__

(self,model,bullet_count)

:#槍的型號

self.model = model

self.bullet_count = bullet_count

def__str__

(self)

:return

('槍的型號:%s\n剩餘子彈數量:%d'

%(self.model,

self.bullet_count)

)def

add_bullet

(self,count)

: self.bullet_count += count

print

('裝填完成,現在有%d子彈'

% self.bullet_count)

defshoot

(self)

:if self.bullet_count<=0:

print

('[%s]沒有子彈了!!'

% self.model)

return

self.bullet_count -=

1print

("開了一槍,真痛快!!"

)class

soldier

:def

__init__

(self,name)

:#士兵名字

self.name = name

#新兵沒有槍

self.gun =

none

def__str__

(self)

:return

('名字:%s\n槍型號:%s\n剩餘子彈:%d'%(

self.name,

self.gun.model,

self.gun.bullet_count)

)# 發槍

defsetgun

(self,model,count)

: self.gun = gun(model,count)

# 給槍裝填子彈

defgun_add_bullet

(self,count)

:if self.gun is

none

:print

('還沒槍呢!!'

)else

: self.gun.add_bullet(count)

deffire

(self)

:# 1.判斷是否有槍

if self.gun is

none

:print

('還沒槍呢,快發一條!!!'

)return

# 2.高喊口號

print

('衝啊....[%s]'

% self.name)

# 4.發射子彈

self.gun.shoot(

)

python物件導向封裝 士兵突擊

重點理解 乙個物件的屬性,可以是另乙個類建立的物件。專案需求 1 士兵許三多有一把ak47 2 士兵可以 3 槍能夠發射子彈 4 槍能夠裝填子彈 專案分析 根據專案需求,可以提煉出兩個類,槍和人。槍類的屬性有 名字 子彈數量 槍類的方法有 裝填子彈 射出子彈 人類的屬性有 名字 槍 人類的方法有 因...

物件導向封裝案例 士兵突擊

乙個物件的屬性可以是另外乙個類建立的物件 需求 士兵許三多有一把ak47士兵可以 槍能夠發射子彈 槍裝填裝填子彈 增加子彈數量 開發士兵類假設每乙個新兵都沒有槍 定義沒有初始值的屬性 在定義屬性時,如果不知道設定什麼初始值,可以設定為 none fire 方法需求 實現class gun 槍類 de...

士兵突擊python Cython

首先呈現一些零散的碎片,然後再得到其全貌。編個號 a1 pytho的直譯器是用c寫的開源軟體,編譯器是用python寫的,因此python中c和python大概各佔一半。a2 將python整合到emacs ide形成python ide 整合開發環境 a3 python可以繫結c 源 a4 cyt...