士兵突击
重点理解:一个对象的属性,可以是另一个类创建的对象。
项目需求:
1、士兵许三多有一把AK47
2、士兵可以开火
3、枪能够发射子弹
4、枪能够装填子弹
项目分析:
根据项目需求,可以提炼出两个类,枪和人。
枪类的属性有:名字、子弹数量
枪类的方法有:装填子弹、射出子弹
人类的属性有:名字、枪
人类的方法有:开火
因为许三多需要使用AK47,所以我们应该首先开发枪类。
项目开发:
开发枪类:
在开发枪对象的shoot
方法时,要先判断枪是否还有子弹,如果没有,需要直接使用return
关键字停止执行下面的代码。
class Gun:
def __init__(self, name):
self.name = name
self.bullets = 0
def add_bullet(self, count):
self