分类筛选
分类筛选:

软件有关专升本毕业论文范文 和对象软件复用机制有关论文例文

版权:原创标记原创 主题:软件范文 类别:发表论文 2024-01-21

《对象软件复用机制》

该文是关于软件相关论文范文文献与软件复用和对象和机制方面专升本毕业论文范文。

1 引言

1977 年出现的结构化设计方法学曾给软件产业带来了巨大进步,在一定程度上缓解了软件危机,但是由于结构化方法是基于功能分析和分解,软件结构依赖于系统功能,这对一些功能非常明确的而且不会轻易改变的软件系统是非常有效的,但是现实中存在大量系统,其功能往往是模糊易变的,而功能的变化常会引起软件结构的整体修改,结构化设计方法学无法承担快速高效的开发这类复杂软件系统的重任.20 世纪80 年代逐渐成熟的面向对象方法学,使软件软件的分析、设计和编程等方面都有了全新的认识.其用面向对象的概念来描述现实世界,“对象”的概念是将数据和对数据操作的方法封装在一起,从而提高了模块的聚合度,降低了模块之间的耦合度,更大程度上的支持软件复用,从而十分有效地降低了软件的复杂度.面向对象技术和结构化技术相比,最大的优势在于它实现了最大程度上的软件复用[1].软件复用综合了面向对象技术中最重要的概念,本文将全面分析面向对象技术是如何实现软件复用机制的.

2 面向对象方法学概述

Peter Coad 和Edward Yourdon 提出了下列等式[2]:

面向对象=对象(objects)+类(classes)+继承(inheritance)+消息通讯(communication withmessages)

只有同时使用了对象、类、继承和消息通讯才是真正面向对象的方法.

(1) 对象与封装

对象是系统中用来描述客观事物的实体,它是构成系统的基本单位.对象由三个要素组成:对象标识、属性和方法.对象标识,是对象的名字,供系统内部唯一识别;属性,也称状态和数据,是用来描述对象的静态特征;方法,也称操作、行为或服务,用来描述系统的动态特征.对象的重要设计原则:封装.封装具有两层含义:首先,对象是其全部属性和全部服务紧密结合而形成的不可分隔的整体;其次,对象是一个不透明的黑盒子,表示对象状态的数据和对象服务的实现被封装在黑盒子里,对象本身对外部的访问者具有一定的权限控制,同时访问者只需知道被访问者向外提供的接口的形式,无须知道它的数据结构细节和实现操作的算法.

(2) 类

类是具有相同属性和服务的一个或一组对象的抽象定义.一个具体的对象称为类的一个实例,通过new 关键字创建类的实例.

(3) 继承与多态[3]

继承,其定义为:特殊类(或称子类、派生类)的对象拥有一般类(或称父类、基类)非私用属性和方法.继承是提高软件开发效率的重要原因之一,同时也面向对象中实现软件复用的重要机制.多态,一个对象从外面被访问时,根据外部环境的访问形式的变化,对象内部能够提供相应的多种状态(服务).多态性不仅可以增加了面向对象软件系统的灵活性,进一步减少冗余,而且显著提高了软件的可重复性和可扩充性.

(4) 消息通讯

如果把每个对象看作是能够向外部提供服务的个体,那么对象之间的的联系就是通过消息通讯联系在一起的,面向对象系统的运作就是系统内部各个对象之间消息通信实现的.消息就是对象给其他对象发出的一个服务请求,它包括:提供服务的对象标识、消息名称(如方法名称)、输入信息(如参数)和回答信息(如方法调用后返回的数据).在这里消息的接收者不仅仅是向往提供某种服务,更重要的是它接受信息是为利用接收到的信息激活内部的操作.消息通讯是面向对象方法学中的一个重要原则,它与对象的封装密不可分.封装使对象成为各司其职、互不干扰的独立单元;消息通讯则为它们提供了惟一合法的动态联系途径,使它们的行为能够互相配合,构成一个有机的整体.

3 面向对象软件复用机制

3.1 继承

在Ja 中继承有两套不同的实现机制--接口和子类实例化[4].在继承体系中父类对子类是一般和特殊的关系.子类共享父类的非私有属性和方法,同时拥有和父类不一样的属性和方法.在设计系统时,对具有继承体系的问题域,只要有良好的继承结构,软件的开发是高效的.继承按照服务实现的程度,可分为代码继承和行为继承,当父类中提供了方法(服务)的实现时,子类对父类的继承(使用extends 关键字)成为代码继承,如果父类只是提供方法的定义,而没有提供实现时,子类的继承称为行为继承.一般代码继承选择继承机制,行为继承时选择接口继承(使用implements).如果父类中是抽象类,那么子类可以同时兼备代码继承和行为继承(使用extends 关键字).继承之所以实现了软件复用的功能,最根本上是它认为,现实世界中,属于同一个问题域的实体,共享相同的概念.在用类来描述这些实体的时候,继承机制把共享的部分抽象出来作为父类,其他特殊的问题域用子类来描述.当从别的类继承了某种行为之后,就不需要重写这种行为的代码.

3.2 合成

合成是基于这样的一个概念,一个问题域直接由其他一个或多个问题域提供的功能参与组成

3.3 合成和继承的综合应用

通常继承和合成同时应用于类的设计,最近出现的一些新的软件复用的新形式[4]:动态合成、内部类的继承和未命名类.

(1) 动态合成

合成和继承相比有一个优点,就是可以推迟绑定时间.对于继承来说,子类与父类的连接是在编译时就已确定下来,以后不能在改变.而对于合成,构建类和原类的连接是在运行时刻才进行,因此这种连接比较弱,在运行时刻还可以改变,合成的这种特性叫动态合成.为了说明这个概念,设想模拟青蛙行为的类Frog.青蛙行为在整个生命周期中假设就有两种行为,一个是成长,一个是随着年龄的增长游泳本领的成长.但是在青蛙的行为在整个生命周期中是变化的.针对这类动态问题,我们一般的解决方式是转换为静态处理,也就是按照年龄分段处理,每个年龄段呈现出静态的行为.

(2) 内部类的继承

在类的内部定义类,并且内部类继承其他类,这个时候,内部类融合了继承和合成两方面的特性.内部类part1 和part2 是model 类的私有组件,这些组件保存在model 实例中,其对象的生命周期在model 类对象的生命周期内.

(3) 未命名类

这里以对按钮(button)的事件监听为例说明,当我们从键盘上按下某个按钮这一事件时,应用程序里需要把这一按钮事件注册到事件里,当事件监听到这一事件发生时,做出相应的动作.

定义button 事件.

在这里使用类定义表达式把类的定义和实例的创建合二为一,另外它省去了给类起名字.因为整个类的定义被封装在一个表达式里,所以可读性差.

4 总结

面向对象技术最大限度的提高了软件的复用型,这非常有利于缩短软件系统开发的周期,同时也使大大提高了软件的可维护性.本文从综合了面向对象软件复用最常用的两种技术,继承和合成,从面向对象语言Ja 的角度分析了他们各自实现的具体实现形式.

软件论文参考资料:

毕业论文用什么软件写

软件技术毕业论文

电子杂志制作软件

论文免费查重软件

软件论文

常用工具软件论文

评论,此文为关于对写作软件复用和对象和机制论文范文与课题研究的大学硕士、软件本科毕业论文软件论文开题报告范文和相关文献综述及职称论文参考文献资料有帮助。

和你相关的