欢迎来到天天文库
浏览记录
ID:27329744
大小:937.51 KB
页数:133页
时间:2018-12-01
《《现代仿真技术》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章现代仿真技术在本书的前七章,已向读者系统地介绍了控制系统计算机仿真的基本原理﹑方法和仿真软件。在上世纪80年代,由于对复杂大系统的分析与设计的需要,以及计算机技术的突飞猛进和周边学科的某些理论与技术问题的突破,使得计算机仿真这一学科得以迅速发展,其应用领域也在日益拓宽和加深。为使读者能更好地了解仿真技术的一些最新发展,以及今后能在仿真领域做进一步的研究,或将仿真技术应用于一些比较复杂的系统之中,本书的后两章将向读者介绍仿真这一学科的新思想﹑新概念和新方法。由于篇幅有限,涉及问题均是基本的,有兴趣的读者可以参考有关文献。8.1面向对象仿真技术8.1.1面向对象的概念和特点
2、面向对象的方法是一种在分析和设计阶段独立于程序设计语言的概念化过程。它不仅仅是一种程序设计技术,更重要的它是一种新的思维方式。它能够帮助分析者、设计者以及用户清楚地描述抽象的概念,使相互之间容易进行信息交流。在面向对象的设计方法中,对象(Object)和传递消息(MessagePassing)分别是表现事物及事物间相互联系的概念;类(Class)和继承(Inheritance)是适应人们一般思维方式的描述范式;方法(Method)是允许作用于该类对象上的各种操作,以及对象的封装性(encapsulation)、实体的多态性(polymorphism)以及动态联编(dynami
3、cbinding)等特点。下面介绍这些有关的术语。8.1面向对象仿真技术(1)对象客观世界中的任何事物在一定的前提下都可以成为认识的对象。一个人可以是一个对象,一个学校也可以是一个对象。对象不仅仅是物理对象,还可以是某一类概念实体的实例。例如操作系统中的进程、室内照明的等级等。可见,世界上的任何事物都是对象,或是某一个对象类的一个元素。复杂的对象可由相对比较简单的对象以某种方法组成,甚至整个客观世界可认为是一个最复杂的对象。为了研究对象,必须用某种形式去表示对象。在面向对象的系统中,对象是基本的运行实体,它有两个方面的内容需要表示,一是对象的种类所属,即属性,二是对象的行为活
4、动。属性和活动是相互影响的,属性界定了对象的可能活动,而活动又能改变对象自身的属性状态,同时对象之间存在相互作用于依存关系。因此,对象表示包括三个方面,即属性、活动、关联关系。在计算机内部,对象通常可用三元关系来表示:对象:=<接口,数据,操作>其中接口描述对象与其他对象的关系,数据描述对象的属性,操作描述对象的行为活动。8.1面向对象仿真技术(2)消息消息是描述对象间的相互作用的一种方法。在面向对象方法中,对象间的相互作用用对象间的通信——收发消息来实现。当一个消息发送给某个对象时,该消息包含要求接收对象去执行某些活动的信息,接到消息的对象经过解释,然后予以响应,这种通信机
5、制称为消息传递。程序的执行是由对象间传递消息来完成的。发送消息的对象称为发送者,接收消息的对象称为接收者。消息中只包含发送者的要求,它告诉接收者需要完成哪些处理,但并不指示接收者应该怎样完成这些处理。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。8.1面向对象仿真技术(3)类类是一组相似对象的集合,它描述了该组的共同行为和属性。例如,Integer是一个类,它描述了所有整数的共有性质(包括整数的大小和算术运算)。3、4、5等具体的整数都是类的对象,都具备算术和大小比较能力。类是在对象之上的抽象,有了类以后,对象则是类的具体化,是类的实例。对象在软件运行过程中由其所
6、属的类动态生成。一个类可以生成多个不同的对象,这些对象虽然外部特性和内部实现都相同,但它们可以有不同的内部状态值。8.1面向对象仿真技术(4)方法方法是指在对象中被定义的过程,即对类的某些属性进行操作以达到某一目的的过程。它的实现类似于非面向对象语言中的过程和函数,它是与类的属性封装在一起的。如果一个类的公有方法可用在许多领域,这个类就可作为重复利用的软件组件。(5)继承性一个类可以有父类和子类,继承性描述了它们之间的关系,是父类和子类之间共享数据和方法的机制。一个类能继承其父类的全部属性与操作,在定义和实现一个类时,可以在一个已存在的类的基础上进行,把这个已存在的类所定义的
7、内容做为自己的内容,并加入若干新的内容。一个类如果只从一个父类得到继承称为单继承,如果有两个或两个以上的父类,则称为多继承。继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。8.1面向对象仿真技术(6)封装性将一个对象的数据和操作过程组合起来,然后将其封装并限定在一严格的范围内,只能被同类中的操作过程直接访问,不允许其它类的对象的介入,这称为封装。可以理解为一个模块的内部状态和实现方法完全隐藏在模块内部,模块间的依赖性很小,或者说封装的方法就是把应用程序分解为较小的功能组件。
此文档下载收益归作者所有