计算机仿真技术 教学课件 ppt 作者 郝培锋 崔建江 潘峰 第5章

上传人:E**** 文档编号:89189847 上传时间:2019-05-21 格式:PPT 页数:82 大小:6.66MB
返回 下载 相关 举报
计算机仿真技术 教学课件 ppt 作者  郝培锋 崔建江 潘峰 第5章_第1页
第1页 / 共82页
计算机仿真技术 教学课件 ppt 作者  郝培锋 崔建江 潘峰 第5章_第2页
第2页 / 共82页
计算机仿真技术 教学课件 ppt 作者  郝培锋 崔建江 潘峰 第5章_第3页
第3页 / 共82页
计算机仿真技术 教学课件 ppt 作者  郝培锋 崔建江 潘峰 第5章_第4页
第4页 / 共82页
计算机仿真技术 教学课件 ppt 作者  郝培锋 崔建江 潘峰 第5章_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《计算机仿真技术 教学课件 ppt 作者 郝培锋 崔建江 潘峰 第5章》由会员分享,可在线阅读,更多相关《计算机仿真技术 教学课件 ppt 作者 郝培锋 崔建江 潘峰 第5章(82页珍藏版)》请在金锄头文库上搜索。

1、第5章,5.1 面向对象的概念与技术 5.2 面向对象仿真概述 5.3 基于C+的面向对象仿真的软件设计 5.4 小结,5.1 面向对象的概念与技术,5.1.1 面向对象的基本概念 5.1.2 面向对象的分析 5.1.3 面向对象的设计 5.1.4 面向对象的程序设计,5.1.1 面向对象的基本概念,1.对象 2.面向对象 3.消息 4.类 5.继承性 6.多态性 7.动态联编,1.对象,“对象”(Object)一词有着广泛的含义,客观世界中的任何事物在一定的前提下都可以成为认识的对象。从计算机仿真的角度,人们关心的任一事物作为仿真对象可以划分为四个层次:客观对象;抽象对象;概念对象;计算机对

2、象。 客观对象是对象所指事物本身,是有关对象的信息源;抽象对象在这里指的是人们对客观对象各个方面抽象认识的总和;概念对象是人们对客观对象某一方面认识的形式或非形式描述;计算机对象是概念对象在计算机内部的表示。Zeigler在1984年提出的多面向建模的方法可用来描述事物的抽象模型,其核心是建立一个框架来综合针对同一事物的多种概念模型,这些概念模型从不同的侧面分别刻画了事物的某一方面的性质。,2.面向对象,面向对象(Object-Oriented)可以从世界观与方法论两个方面去理解。其一,面向对象是一种认识客观世界的世界观,这种世界观将客观世界视为由许多对象构成的,每个对象都有自己的内部姿态和运

3、动规律,不同的对象间的相互联系和相互作用构成了完整的客观世界;其二,面向对象是从结构模拟客观世界的一种方法,该方法的基本着眼点是构成客观世界基本成分对象,模拟的实现是将客观对象抽象为概念对象,再转换成相应的计算机对象。 从面向对象的观点去认识客观世界,用面向对象的方法去模拟客观世界,就构成了面向对象的完整含义。,3.消息,消息(Message)是描述对象间的相互作用的一种方式。在面向对象的方法中,对象间的相互作用用对象间的通信收发消息来实现。当一个消息发送给每个对象时,该消息包含要求接受对象去执行某些活动的信息。接到消息的对象经过解释之后予以响应。程序的执行是由在对象间传递消息来完成的。,4.

4、类,类(Class)是一组相似对象的集合,它描述了该组对象的共同行为和属性。例如:Integer是一个类,它描述了所有整数的共有的性质(包括整数比较大小和算术运算)。1、5、7等具体整数都是类的对象,都具备算术运算和比较大小的能力。 对象在软件运行过程中由其所属的类动态生成。一个类可以生成不同的对象,这些对象虽然内部状态的类型与名称相同,但它们可以有不同的内部状态值。,5.继承性,一个类可以有父类和子类,它们形成一种层次结构。这种结构的一个重要特点是继承性(Inheritance),即一个类能够继承其父类的全部属性和操作。 继承性是父类与子类之间共享数据和方法的机制。这种机制使人们可以在一个已

5、存在的类的基础上,通过加入若干新的内容,来定义和实现一个新的类。 一个类如果只从一个父类得到继承称为单继承,如果有两个或两个以上的父类,则称为多继承。,6.多态性,在收到消息后,对象要予以响应,不同的对象收到同一消息可产生不同的结果,这一现象称为多态性(Polymorphism)。应用多态性,用户可以发一个通用的消息给多个对象,每个对象按自身的情况决定是否响应和如何响应。,7.动态联编,在面向对象的程序设计语言中,消息的传递用过程的调用方式来实现。联编是过程调用和响应调用的执行码结合在一起的过程。如这个过程在编译时进行,叫作静态联编(Static Binding),在运行时进行则称为动态联编(

6、Dynamic Binding)。通常面向对象程序设计语言采用动态联编的方式,因为存在多态性,程序难以静态地确定要执行的代码,而等到运行时,根据当时的条件动态地确定。,Teapot,Blending of the modeling,Virtual Reality(虚拟现实、灵境),Virtual Reality 或称虚拟环境(Virtual Environment) 是用计算机技术来生成一个 逼真的三维视觉、听觉、触觉 或嗅觉等感觉世界,让用户可 以从自己的视点出发,利用自 然的技能和某些设备对这一生 成的虚拟世界客体进行浏览和 交互考察。,计算机艺术,Coreldraw, Photoshop

7、, 金山画王笔, 相片真实感模拟与自然媒体仿真技术 分形(Fractal)艺术,5.1.2 面向对象的分析,1.识别对象 2.识别结构 3.识别主题 4.定义属性 5.定义方法,1.识别对象,1)确定寻找对象的范围。 2)哪些可能作为候选对象。 3)对候选对象考察什么。 4)为认定的对象命名。,2.识别结构,结构指的是多种对象的组织方式,用来反映问题空间中的复杂事物和复杂关系。对象结构主要有两种:分类结构和部分整体结构。分类结构用于描述事物类别之间的继承关系;部分整体结构用于描述部分和整体之间的组合关系。 识别分类结构通常是从将对象视为一般对象开始,逐步具体化。如要识别与对象“飞机”相关的分类

8、结构,则从飞机着手,根据用途可将其具体化为军用与民用飞机,军用飞机又可具体化为作战与运输飞机等。然后视该对象为具体的对象,抽取它与其他对象共同的特性,构成一般化的对象,如从汽车与飞机两个对象可形成交通工具这种更一般化的对象。如此得出对象所属的分类结构。,3.识别主题,主题是一种关于模型的抽象机制,它给出了系统分析结果的概貌。由于系统分析中,通过识别认定的对象和结构的数目通常远远超出人同时记忆与处理问题的个数,由此,要对几十种乃至几百种对象和结构进行进一步的抽象,以利于分析结果的读者理解对象和结构之间的关联关系。,4.定义属性,(1)识别属性 识别一个对象应用哪些属性来描述。 (2)定位属性 即

9、确定属性在分类结构中的位置。 (3)认定和定义实例关联 实例关联描述了某个对象对其他对象的需求,例如,对于飞机与飞行计划两个对象,一个飞行计划只能有一个实例连接到某架飞机,而一架飞机可以有零到若干个实例连接到飞行计划。,5.定义方法,(1)认定基础方法 基础方法包括三类,即存在(实例的增加、变动、删除和选择)、计算和监控。 (2)认定辅助方法 辅助方法有两类,一类是对象的生命史,即对象的存在类方法之间的顺序关系。 (3)识别消息关联 消息关联描述一个对象向另一个对象发送消息,使得某些处理功能得以实现。 (4)对方法进行规范说明。,5.1.3 面向对象的设计,(1)对象行为和对象间交互作用的进一

10、步细化,加入必要的新对象 由于系统的行为在很大程度上体现为对象间的交互作用,因此给出交互作用明确、完全的定义是这个阶段的主要工作。 (2)类的认定 在分析阶段已经把对象组织成一定的结构形式(层次结构),在此基础上对类加以认定,以得到解空间的结构形式,为实现提供支持。 (3)对重用的支持。,5.1.4 面向对象的程序设计,随着应用软件的规模和处理复杂问题能力的要求日益提高,用户希望获得的软件不仅能够满足当前的应用需求,而且可以通过不断修改和扩充来满足未来需求的变化。为此需要新的程序设计方法,它有助于控制软件的复杂性和提供软件的可扩充性,面向对象的程序设计(Object-Oriented Prog

11、ram Design,OOPD)正是这样一种方法。 OOPD继承了结构化程序设计的优点,充分体现软件工程的三种思想:模块化、信息屏蔽与抽象,较好地解决了软件部件化和重用问题,从而可提高软件的可靠性、可维护性和生产效率。,5.2 面向对象仿真概述,5.2.1 面向对象仿真的优点 5.2.2 面向对象技术在仿真中的应用 5.2.3 面向对象仿真系统的构成 5.2.4 面向对象仿真语言,5.2.1 面向对象仿真的优点,(1)仿真系统自然模块化 面向对象的仿真方法强调的是系统的总体结构,而不是系统所涉及的过程。 (2)可重用性 在面向对象的仿真中,各种模型可以作为类存放在类库中,形成可重用的模型库。

12、(3)可扩充性 模型对象方法的继承性,使得仿真系统十分容易扩充,方便地在系统中加入新的模块来增加仿真系统的功能。 (4)可理解性 面向对象仿真,无论对设计者、实现者还是最终用户,其可理解性都得到了改进。 (5)使仿真易于和人工智能结合 仿真和人工智能的结合可以增强仿真的能力。 (6)易于实现并行仿真 由于对象封装了所有信息,因而每个对象都能在分配给自己的处理程序上执行它的功能,这样对象在一定程度上可以相对独立地运行。,5.2.2 面向对象技术在仿真中的应用,1)面向对象分析(OOA)。 2)面向对象设计(OOD)。 3)面向对象程序设计语言(OOPL)。 4)面向对象数据库(Object-Or

13、iented Data Base,OODB)。,5.2.3 面向对象仿真系统的构成,(1)具体的建模对象类 包括能描述被仿真的客观系统的各种构成成分的类。 (2)抽象的建模对象类 各种具体的建模对象中有许多共同的特征,如都需描述输入输出接口,都有一个时间属性,因而可以抽象成抽象的建模对象类。 (3)随机数与外部输入产生类 随机数类用于对系统中的随机因素进行建模。 (4)消息传递类 用于实现对象间的消息按顺序、目的的传送,主要应具有消息的分发功能。 (5)实验管理与控制类 用于建立与管理实验框架,从建模类库中选择合适的类生成所需的对象,并提供控制实验运行的手段。 (6)用户接口类 提供设计实现用

14、户最终所需人机界面的一些类。 (7)输出分析类 用于对仿真结果作出各种误差分析和图形处理。,5.2.4 面向对象仿真语言,(1)一般的通用的面向对象的语言 代表是C+、VC、Objective-c、VB、PB、VFOXPRO、Java和CLOS。 (2)面向AI的面向对象语言 基于LISP的(也称为宿主语言)、模块化交互语言Flavor、Scheme和SCOOPS也可用于面向对象仿真。 (3)专门的面向对象仿真语言与一体化的仿真软件包 目前已开发了许多种面向对象仿真语言(Object-Oriented Simulation Program,OOSP),如ROSS、Smalltalk-80、Mo

15、dsim/ Modsim/ Modsim、Simple+和SIM+、Taylor ED、G2、VSE、Silk和Simjava等。,5.3 基于C+的面向对象仿真的软件设计,5.3.1 C+语言简介 5.3.2 应用C+的仿真基本类结构 5.3.3 面向对象的仿真软件实例,5.3.1 C+语言简介,教学目标: 1.了解 C+ 语言的背景 ; 2.掌握 C+ 语言程序的结构; 3.了解 C+ 语言的基本要素 ; 4.领会 C+ 语言程序设计的风格; 教学重点: C 程序结构和基本要素 教学难点: C+ 语言程序的结构,C+ 语言的由来,C+是从C语言发展演变而来的,首先是一个更好的C 引入了类的

16、机制,最初的C+被称为“带类的C” 1983年正式取名为C+ 从1989年开始C+语言的标准化工作 于1994年制定了ANSI C+标准草案 于1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的C+,2 C+ 语言的特点,全面兼容C 它保持了C的简洁、高效和接近汇编语言等特点 对C的类型系统进行了改革和扩充 C+也支持面向过程的程序设计,不是一个纯正的面向对象的语言 支持面向对象的方法,3.1 程序的开发基本术语,源程序: 用源语言写的,有待翻译的程序 目标程序: 也称为“结果程序“,是源程序通过翻译程序加工以后所生成的程序。 翻译程序: 是指一个把源程序翻译成等价的目标程序的程序。 其三种不同类型的翻译程序:,汇编程序: 其任务是把用汇编语言写成的源程序,翻译成机器语言形式的目标程序。 编译程序: 若源程序是用高级程序设计语言所写,经翻译程序加工生成目标程序,那么,该翻译程序就称为“编译程序“。 解释程序: 这也是一种翻译程序,同样是将高级语言源程序翻译成机 器指令。它与编译程序不

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号