上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)Chapter10 类的定义

类的定义

回顾:对象 ■对象的构成: 一一组相关信息 ■存储在实例变量中 一处理该信息的一组方法 ■对象内的函数 对象的属性:实例变量和方法 2
2

回顾:对象 ■类决定了对象具有哪些信息和方法 一对象是类的实例 一通过类的构造器创建新对象 3
3

画圆 circ Circle(Point(50,50),40) circ: Circle center: Point radius: 40 50 X: draw() y:50 move(
Point 5050 x: y: circ: Circle40 center: radius: draw( ) move( )

回顾:对象 ■对象是一个类的实例 -类是数据类型(int,float,string)的推广 一实例/对象:是数据类型的具体化 以下通过一个实例来说明定义新类的用 处 5
5

编程实例:炮弹飞行模拟 给定发射角度、初始速度以及初始的高度,希 望计算出炮弹飞行的距离 程序规格 输入:发射角,初速度,初始高度 输出:射程 注: (1)采用微积分,可以直接导出炮弹位置的公式,但此 处我们不用微积分,而是只用一些基本常识,通过 一步一步迭代计算来解决 (2)不考虑风阻力,只考虑重力 6
6

编程实例:炮弹模拟 算法 输入模拟参数:角度,速度,高度,计算位置变化的时间间 隔 计算炮弹初始位置xpos,yPos 计算炮弹初始水平和垂直速度xvel,yvel 当炮弹还在飞行,循环: 更新一个时间间隔之后的xpos,ypos,yvel 输出xpos 7
7

编程实例:炮弹模拟(续) def main() angle input ("..(in degrees)" vel input("...(in meters/sec)") 才 ho input("...(in meters)") time input("...(in seconds)") velocity yvel=velocity*sin(theta) xpos,ypos =0.0,h0 theta ...d theta angel math.pi /180.0 xvel velocity cos(theta) xvel vel math.cos(theta) yvel vel math.sin(theta) whi1 e ypos>=0.0:#该条件允许h0=0.0 更新 print"Distance:号0.1 f meters."号(xpos) 8
8

编程实例:炮弹模拟(续) 算法核心部分:更新各值 xpos xpos xvel .time yvel new yvel -9.8 time ypos ypos time (yvelyvel new)/2 yvel yvel new 自由落体的速度计算公式选择向下方向为负) Vt=vo-9.8t y=vot-0.5gt2 10个变量,太多 可读性不够好 9
9

编程实例:炮弹模拟(续) 模块化设计:把程序分解成几个子函数 def main(): angle,vel,ho,time getInput() xpos,ypos =0,h0 xvel,yvel getxYComponents(vel, angle) while ypos >=0.0: xpos,ypos,yvel updatePos(time,xpos,ypos,xvel,yvel) print "Distance:$0.1f meters."$(xpos) 变量theta和yel newl呢? 这是自顶向下逐步求精带来的好处 10
10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter08 控制结构(循环语句).ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter07 控制结构(条件语句).ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter06 函数.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)Chapter05 面向对象与图形编程.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter04 字符串计算.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter03 数值计算.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter02 程序基本构件.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter01 课程简介、计算机与程序.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源_期末大作业要求.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源_往年试卷_CT2012-A卷-final.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源_往年试卷_CT2012-A卷-final 2_参考答案.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源_参考教材_参考教材-python-programming.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_参考教材_参考教材-2002版-PythonProgrammingBook.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_参考教材_HowToThink-Python.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_作业_第一次作业内容要求.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_作业_第一次作业内容要求.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第四次上机_Python第四次上机题目.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第五次上机_第五次上机.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第三次上机_Python第三次上机解析-update.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第三次上机_python第三次上机.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter11 数据集合体.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter9 模拟与设计.ppt
- 《Embedded System LAB》教学资源:KEIL Tools by ARM Getting Startedu Creating Applications withμVision®(uv4).pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第二次上机_第二次上机题目_11.1.doc
- 《程序设计思想与方法》课程教学资源(课程参考书PDF电子版)PYTHON programming:AN INTRODUCTION TO COMPUTER SCIENCE(JOHN ZELLE).pdf
- 《程序设计思想与方法》课程教学资源(课程参考书PDF电子版)Python Programming:An Introduction to Computer Science(2002版).pdf
- 《程序设计思想与方法》课程教学资源(课程参考书PDF电子版)How to Think Like a Computer Scientist Learning with Python.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter01 课程简介、计算机与程序.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter02 程序基本构件.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter03 数值计算.ppt
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)00. Course Introduction.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)01. Introduction to Software Engineering.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)10.Mapping Models to Code.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)11.Testing.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)02. Modeling with UML.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)03. Project Organization and Management.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)04. Requirements Elicitation.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)05. Analysis.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)06. System Design-Decomposing the System.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)07.System Design-Addressing Design Goals.pdf