资源描述:
《面向对象技术的理论研究综述》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、面向对象技术的理论研究综述西北师范大学商学院10级信管班蔡泽山内容摘要:21世纪是一个以信息产业为主导的时代,信息技术和计算机技术的发展日益影响着世界经济的发展。与此同时,各个国家对计算机技术的发展、计算机产品的开发也日益重视。本文章从面向对象技术的基本概念、特征、设计语言、开发方法以及以后的发展趋势等方面较深入、较系统地进行论述,使该技术的日益成熟对未来经济的发展做出其应有的贡献。关键词:面向对象技术面向对象的发展过程面向对象设计语言面向对象开发方法面向对象技术的应用领域随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。特别是当计算机硬件有了飞速发展之后,各种应
2、用领域对软件提出了更高的要求。结构化程序设计语言和结构化分析与设计已无法满足用户需求的变化。发展软件质量,缩短软件开发周期,发展软件可靠性、可扩充性和可重用性,迫使软件界人士不断研究新方法、新技术,探索新途径。面向对象的方法是一种分析方法、设计方法和思维方法。面向对象方法学的出发点和所追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法。也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。其基本思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实
3、世界,构造出模块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费用。面向对象程序设计方法起源于60年代末期的语言SIMULA’67,到了70年代末期,软件行业正受到软件危机的困扰,结构化的开发方法不能够很好地解决软件危机。面向对象语言Smalltalk的出现,进一步发展和完善了面向对象的程序设计语言,从此面向对象和开发方法开始结合,出现了面向对象的开发方法。一、面向对象技术的概述1、面向对象技术的基本概念(1)、对象对象是现实世界中的一个实体,在计算机世界中,第11页/共11页它以数据为中心而不是以功能为中心来描述系统,可以把对象看成是存储器中一个可标识的区域,它
4、能保存固定或可变数目的数值(或数值的集合)。为了发现对象,开发人员要在系统需求和系统分析的文档中查找名词和名词短语,包括客观世界可感知的事物(桌子、椅子、机器);角色(学生、教师、工人、农民、公务员);事件(禽流感、恐怖活动、空中救援);互相作用(批评、上课、宣传);人员;场所;组织;设备;和地点。当重要的对象被发现后,通过一组互相关联的模型详细表示对象之间的关系和对象的行为,这些模型从四个不同的侧面表示了软件的体系结构:静态逻辑、动态逻辑、静态物理和动态物理。静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/部分)、和一般化(继承)等关系。这被称为对象模型。一般化关系表示属性
5、和方法的继承关系。定义对象模型的图形符号体系通常是从用于数据建模的实体关系图导出的。对设计十分重要的约束,如基数(一对一、一对多、多对多),也在对象模型中表示。动态逻辑模型描述对象之间的互相作用。互相作用通过一组协同的对象,对象之间消息的有序的序列,参与对象的可见性定义,来定义系统运行时的行为。静态物理模型通过模块描述代码的布局。动态物理模型描述软件的进程和线程体系结构。(2)、类面向对象程序由类的定义和类的使用两部分组成,类是对一组客观对象的抽象,它将该组对象所具有的共同特征(包括结构特征和行为特征)集中起来,以说明该组对象的能力和性质。面向对象技术将数据和对数据的操作封装在一起,
6、作为一个整体来处理,采用数据抽象和信息隐蔽技术,将这个整体抽象成一种新的数据类型,也就是类。在面向对象程序设计中,类的确定与划分非常重要,是软件开发中关键的一步,划分的结果直接影响到软件系统的质量。如果划分得当,既有利于程序进行扩充,又可以提高代码的可重用性。因此,在解决实际问题时,需要正确地进行分“类”。理解一个类究竟表示哪一组对象,如何把实际问题中的事物汇聚成一个个的“类”,而不是一组数据。这是面向对象程序设计中的一个难点。类的确定和划分并没有统一的标准和固定的方法,基本上依赖设计人员的经验、技巧以及对实际问题的把握。但有一个基本原则:寻求一个大系统中事物的共性,将具有共性的系统
7、成分确定为一个类。确定某事物是一个类的步骤包括:第一步,要判断该事物是否有一个以上的实例,如果有,则它是一个类;第二步,要判断类的实例中有没有绝对的不同点,如果没有,则它是一个类。另外,还要知道什么事物不能被划分为类。不能把一组函数组合在一起构成类,也就是说,不能把一个面向过程的模块直接变成类。类不是函数的集合!(3)、消息消息是对象之间相互请求或相互协作的途径,是要求某个对象执行其中某个功能操作的规格说明。同一对象可接收不同形式的多个消息,产生不同的响应