Python程序设计 课件 第10章 类与对象.pptx

Python程序设计 课件 第10章 类与对象.pptx

  1. 1、本文档共142页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

类与对象第十章

课程目标课程目标1领会如何通过定义新类为复杂程序提供结构3524能够阅读并编写Python类定义理解封装的概念并知道它如何帮助构建模块化的、可维护的程序能够编写包含简单类定义的程序能够编写包含创新(程序员设计的)控件的交互式图形程序

PART1对象的快速复习

1对象的快速复习程序“计算”结构化程序“数据”结构化

1对象的快速复习对象是管理复杂数据的重要工具对象一组相关信息一组信息的操作存储信息的变量称为属性“存在”于对象内的函数称为方法这些操作又称为方法实例变量中一组相关信息被称为对象的“属性”

1对象的快速复习例子一个Circle对象属性:center:记住圆的中心点radius:保存圆的半径方法:draw方法:检查center和radius,以确定窗口中的哪些像素应该着色着Move方法:改变中心的值,以反映圆的新位置

1对象的快速复习记住每个对象都是一个类的一个实例,对象的类决定对象将具有什么属性。一个类描述它的实例知道什么和做什么创建新对象调用构造方法可视为创建新实例的工厂交通工具是一个类某一辆汽车、某一架飞机、某一辆自行车等是这个交通工具类的实例对象

1对象的快速复习创建一个新的Circle对象:myCircle=Circle(Point(0,0),20)Circle是类的名称,用于调用构造方法实例被创建后,可通过调用它的方法来操作它:myCircle.draw(win)myCircle.move(dx,dy)创建了一个新的Circle实例,并将引用保存到变量myCircle构造方法的参数用于初始化myCircle内部的一些实例变量(即center和radius)

PART2示例程序:炮弹

2示例程序:炮弹程序规格说明解决的问题:输入各种发射角度和初始速度,计算炮弹飞多远模拟炮弹程序输入参数输出结果炮弹的发射角(以度为单位)初始速度(以米每秒为单位)初始高度(以米为单位)抛体在撞击地面前飞行的距离(以米为单位)

2示例程序:炮弹程序规格说明重力加速度:g≈9.8m/s2用模拟来跟踪炮弹每个时刻的位置计算原理:物体在给定时间内飞行的距离等于其速率乘以时间(d=rt)

2示例程序:炮弹程序设计炮弹的两个维度:高度:知道炮弹什么时候碰到地面一距离:记录炮弹飞多远二

2示例程序:炮弹程序设计炮弹的位置可视为二维图中的点(x,y)xyx值:炮弹与起点的水平距离y值:炮弹与地面的高度,即垂直距离

2示例程序:炮弹程序设计xy(0,0)炮弹飞行过程中,它在二维图中点的坐标是时刻更新的每隔十分之一秒定时检查炮弹的位置每个维度的精确距离由炮弹在该方向上的速度决定

2示例程序:炮弹程序设计分离速度的x和y分量可以让问题变得更容易x速度y速度由于忽略风的阻力,x速度在整个飞行中保持不变由于重力的影响,y速度随时间而变化速度开始为正,后随着炮弹开始下降变为负值

2示例程序:炮弹程序设计根据分析,模拟程序要做的事情如下:输入模拟参数:角度、速度、高度、间隔计算炮弹的初始位置:xpos、ypos计算炮弹的初始速度:xvel、yvelwhile炮弹仍在飞行时:将xpos,ypos和yvel的值更新为飞行输出中距离作为xpos的距离

2示例程序:炮弹算法的第一行很简单,只需要合适的输入语句序列:程序设计defmain():

angle=float(input(Enterthelaunchangle(indegrees):))

vel=float(input(Entertheinitialvelocity(inmeters/sec):))

h0=float(input(Entertheinitialheight(inmeters):))

time=float(input(Enterthetimeintervalbetweenpositioncalculations:))给炮弹的初始位置赋值,它将从距离0和高度h0开始:xpos=0.0ypos=h0

2示例程序:炮弹程序设计水平速度分量公式:垂直速度分量公式:要将角度转换为弧度

2示例程序:炮弹程序设计Python的math库提供了一个方便的函数,称为radians,用于将角度数值转换为弧度数值。theta=math.radians(angle)

xvel=vel*cos(

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档