Python笔记_第三篇_面向对象_5.一个关于类的实例(人开枪射击子弹)

时间:2023-03-09 07:45:26
Python笔记_第三篇_面向对象_5.一个关于类的实例(人开枪射击子弹)

1. 我们学了类的这些东西,用这些类我们来操作一个关于类的实例。

2. 题目:人开枪射击子弹,然后具有装弹动作,然后再开枪。

第一步:设计类:


类名:Person
属性:gun
行为:fire,fillBullet


类名:Gun
属性:bulletBox
行为:shoot

弹夹
类名:BulletBox
属性:bulletCount
行为:

  分析:我们采取倒序的方式来设计这段面向对象的程序。人——枪——弹夹——发射,我们可以看出发射是最后一个动作。

第二步:创建类

  我们用图示的方式来演示这么一段代码的过程。

Python笔记_第三篇_面向对象_5.一个关于类的实例(人开枪射击子弹)

from person import Person
from gun import Gun
from bulletbox import BulletBox # 弹夹
bulletBox = BulletBox() # 枪
gun = Gun(bulletBox) # 人
per = Person(gun) per.fire()
per.fire()
per.fire()
per.fire()
per.fire()
per.fire()
per.fire() per.fillBullet()
per.fire()
per.fire()
per.fire() 剩余子弹: 4发
剩余子弹: 3发
剩余子弹: 2发
剩余子弹: 1发
剩余子弹: 0发
没有子弹了
没有子弹了
装入子弹2发
剩余子弹: 1发
剩余子弹: 0发
没有子弹了