人开枪射击子弹

"""
人
属性:枪
行为:射击

枪
属性:弹夹

弹夹
属性:子弹数量
"""
class Person:
    def __init__(self):
        self.gun = None

    def show(self):
        if self.gun.danJia.num > 0:
            self.gun.danJia.num -=1
            print("剩余子弹数量%d" %(self.gun.danJia.num))
        else:
            print("子弹已打空")

class Gun:
    def __init__(self):
        self.danJia = None

class Danjia:
    def __init__(self):
        self.num = 0

d1 = Danjia()
d1.num = 6

g1 = Gun()
g1.danJia = d1

p1 = Person()
p1.gun = g1

p1.show()
p1.show()

传参:
class Person:
    def __init__(self,gun):
        self.gun = gun
    def show(self):
        if p1.gun.danJia.num > 0:
            p1.gun.danJia.num -= 1
            print("剩余子弹数量%d"%(p1.gun.danJia.num))
        else:
            print("子弹已经打完了")

class Gun:
    def __init__(self,danJia):
        self.danJia = danJia

class Danjia:
    def __init__(self,num):
        self.num = num

d1 = Danjia(7)
g1 = Gun(d1)
p1 = Person(g1)

p1.show()
p1.show()







猜你喜欢

转载自blog.csdn.net/feiYu12138/article/details/81782510