pythonオブジェクト向け:カプセル化---オブジェクトのプロパティは別のクラスで作成できるオブジェクトです.
5308 ワード
# :
# :
# 1、 AK47
# 2、
# 3、
class Gun:
# :
# :1、 ;2、
# :1、 ;2、
def __init__(self, model):
self.model = model
self.bullet_count = 0
def add_bullet(self, count):
self.bullet_count += count
def shoot(self):
self.bullet_count -= 1
class Soldier:
# :
# : ;“ ”
# :
def __init__(self, name):
self.name = name
self.gun = None # , None
def check_gun(self):
if self.gun.bullet_count <= 0:
print(F"{self.gun.model} , ")
print(" ")
def fire(self, shoot_count):
if self.gun is None:
print(F" {self.name} , !")
return
else:
print(F" {self.name} {self.gun.model}!")
self.gun.add_bullet(shoot_count)
for i in range(shoot_count):
self.gun.shoot()
print(F"{self.name} {self.gun.model}
:{self.gun.bullet_count}")
xusanduo = Soldier(" ")
xusanduo.fire(3) # , !
ak47 = Gun("AK47") # AK47!
xusanduo.gun = ak47
xusanduo.fire(3) # AK47 , :XXX
# :Soldier self.gun Gun “ak47”