Exemplo n.º 1
0
# 属性: 弹匣对象
# 方法: 射击 shoot

# 人类:    person
# 属性: 枪对象
# 方法: 1.射击,  2.换子弹
# """
# 导入弹匣类 , 枪类  , 人类
from package.bulletbox import BulletBox
from package.gun import Gun
from package.person import Person

# 创建一个弹匣
danxia = BulletBox(10)
print(danxia)

# 创建一个枪
xdq1887 = Gun(danxia)

# 创建一个人
kangyukang = Person(xdq1887)

if __name__ == "__main__":
    # 开枪发射
    kangyukang.fire(5)
    # 上子弹
    kangyukang.fill(3)
    # 开枪发射
    kangyukang.fire(7)
    kangyukang.fire(10)
Exemplo n.º 2
0
	# 人类:    person
		# 属性: 枪对象   init参数
		# 方法: 
		# 1.射击(减去子弹),    通过枪对象 调方法shoot
		# 2.上子弹(增加子弹)   通过枪对象--弹夹对象修改子弹总数属性

#导包
from package.bulletbox import Bulletbox
from package.gun import Gun
from package.person import Person

#新建对象
bulletbox = Bulletbox(10)

gun = Gun(bulletbox)  #参数是弹夹对象

person = Person(gun) #参数是枪对象


if __name__ == "__main__":
	# gun.shoot(2)
	person.fire(3)
	person.fill(4)
	person.fire(2)
	person.fill(3)


# 子弹的初始个数是10发
# 本次发射了3发子弹,剩余子弹总数是7发
# 本次新加了4发子弹,剩余子弹总数是11发
Exemplo n.º 3
0
from package.bulletbox import BulletBox
from package.gun import Gun
from package.person import Person
# 实例化
danxia = BulletBox(20)

qiang = Gun(danxia)

soider = Person(qiang)

if __name__ == '__main__':
    soider.fire(10)
    soider.fire(20)
    soider.fill(10)
    soider.fire(20)
Exemplo n.º 4
0
from package.bulletbox import BulletBox
from package.gun import Gun
from package.person import Person

obj = BulletBox(10)
ak47 = Gun(obj)
libai = Person(ak47)
# libai.fire(3)

if __name__ == "__main__":  #这里如果__main__ 前后有空格,下面的代码就不会执行
    # if __name__ == " __main__ ":  #这里如果__main__ 前后有空格,下面的代码就不会执行
    libai.fire(3)
    libai.fill(2)
Exemplo n.º 5
0
# 人类:    person
# 属性: 枪对象   init参数
# 方法:
# 1.射击(减去子弹),    通过枪对象 调方法shoot
# 2.上子弹(增加子弹)   通过枪对象--弹夹对象修改子弹总数属性

#导包
from package.bulletbox import Bulletbox
from package.gun import Gun
from package.person import Person

#新建对象
bulletbox = Bulletbox(10)

gun = Gun(bulletbox)

person = Person(gun)

if __name__ == "__main__":
    person.fire(3)
    person.fill(2)

    person.fill(2)
    person.fire(1)

# 弹夹的子弹总数初始是10发
# 本次发射了3发子弹,剩余子弹总数是7发
# 本次新加了2发子弹,剩余子弹总数是9发
# 本次新加了2发子弹,剩余子弹总数是11发
# 本次发射了1发子弹,剩余子弹总数是10发
Exemplo n.º 6
0
#  需求分析:
"""
弹夹类: 属性: 子弹数量 方法没有, 参数也没有

枪类 : 属性: 弹夹对象  方法: 射击  参数: 射击的次数

人类 : 属性: 枪对象, 方法: 1 上子弹, (上多少子弹的参数,)连贯调用弹夹的属性子弹,进行添加 2 开火; 参数(开火的次数) 间接调用gun的shoot方法!


"""
from package.danjia import DanJia
from package.gun import Gun
from package.peoson import Peoson

# 实例化出对象

d = DanJia()
g = Gun(d)
p = Peoson(g)

if __name__ == '__main__':
    p.fire(5)
    p.add_zi(7)
    p.fire(20)  # 大了10发子弹,还有一个打不出来
Exemplo n.º 7
0
# 人类:    person
# 属性: 枪对象   init参数
# 方法:
# 1.射击(减去子弹),    通过枪对象 调方法shoot
# 2.上子弹(增加子弹)   通过枪对象--弹夹对象修改子弹总数属性

#导包
from package.bulletbox import Bulletbox
from package.gun import Gun
from package.person import Person

# 新建对象
# 新建弹夹对象
bulletbox = Bulletbox(10)

# 新建枪对象
gun = Gun(bulletbox)  #参数是子弹对象
# gun.shoot(3)

# 新建人对象
person = Person(gun)

if __name__ == '__main__':
    # gun.shoot(3)
    person.fire(3)
    person.fill(4)

# 加子弹,在人类,通过枪对象-弹夹对象,修改子弹总数属性 +
# 开枪-减子弹
# 在人类,通过枪对象-枪方法-弹夹对象,修改子弹总数属性