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

本文通过一个具体实例讲解面向对象的设计方法。从人开枪射击子弹的场景出发,逐步分解出人类、枪类和弹夹类,详细阐述了如何设计类属性和行为。通过代码演示了类的实例化和方法调用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

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

第一步:设计类:


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


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

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

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

 

第二步:创建类

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

from person import Person
from gun import Gun
from bulletbox import BulletBox


# 弹夹
bulletBox = BulletBox(5)

# 枪
gun = Gun(bulletBox)

# 人
per = Person(gun)

per.fire()
per.fire()
per.fire()
per.fire()
per.fire()
per.fire()
per.fire()

per.fillBullet(2)
per.fire()
per.fire()
per.fire()


剩余子弹: 4发
剩余子弹: 3发
剩余子弹: 2发
剩余子弹: 1发
剩余子弹: 0发
没有子弹了
没有子弹了
装入子弹2发
剩余子弹: 1发
剩余子弹: 0发
没有子弹了

 

转载于:https://www.cnblogs.com/noah0532/p/10860112.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值