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...