面向对象语言机制

时间:2024-01-13 点赞:43647 浏览:82225 作者原创标记本站原创

这篇语言论文范文属于论文模板免费优秀学术论文范文,语言有关毕业论文模板,与面向对象语言机制相关论文目录格式模板。适合语言及机制及对象方面的的大学硕士和本科毕业论文以及语言相关开题报告范文和职称论文写作参考文献资料下载。

【摘 要】面向对象语言分为纯面向对象语言和混合型面向对象语言两种形式,纯面向对象语言适合面向对象方法研究和快速原型的实现;混合型面向对象语言则注重于提高系统的运行速度,使传统使用结构化编程方式的程序员容易接受面向对象思想.本文就面向对象语言机制进行探讨研究.

【关 键 词 】面向对象,语言机制

面向对象语言发展有两大方向,一是纯面向对象的语言,如Ja等语言;另一类是混合型面向对象语言,也就是在过程语言或其他语言中增加了类、继承等面向对象机制,如C++等语言.就两种形式的面向对象语言比较而言,纯面向对象语言更加适合面向对象方法研究和快速原型的实现;而混合型面向对象语言则更加注重于提高系统的运行速度,使传统使用结构化编程方式的程序员容易接受面向对象思想.面向对象程序设计语言以对象为中心,对象是程序运行时的基本成分.面向对象程序设计语言中提供了类、继承等机制.面向对象的程序设计即为设计类及由类构造程序的方法和过程,用计算机对象模拟现实世界.成熟的面向对象的程序设计语言通常都提供丰富的类库和强有力的开发环境.


1.支持类与对象概念的机制:面向对象语言都允许用户动态创建对象,且可以用指针引用动态创建的对象.允许动态创建对象,就意味着系统必须处理内存管理问题,如果不及时释放不再需要的对象所占用的内存,动态存储分配就有可能耗尽内存,出现内存不足的问题.通常,对这类问题的解决方法有两种,一种是由语言的运行机制自动管理内存,即提供自动回收“垃圾”的机制;另一种是由程序员编写释放内存的代码.自动管理内存不仅方便而且安全,但是必须采用先进的垃圾收集算法才能减少开销.某些面向对象的语言(如C++)允许程序员定义析构函数.每当一个对象超出范围或被显式删除时,就自动调用析构函数.这种机制使得程序员能够方便地构造和唤醒释放内存的操作,却又不是采用垃圾收集机制.

2.实现整体-部分结构的机制:实现整体-部分结构的机制有两种方法,一种是使用指针实现整体-部分结构,另一种是使用独立的关联对象实现整体-部分结构.一般来说,通过增加内部指针可以方便地实现关联,使用指针是最容易的实现方法.但是,大多数现有的面向对象语言并不显式支持独立的关联对象.

3.实现一般-特殊结构的机制:实现一般-特殊结构的机制,包括实现继承的机制和解决名字冲突的机制.所谓解决名字冲突,是指在支持多重继承的语言中,处理在多个基类中可能出现的重名问题.通常,有些语言拒绝接受有名字冲突的程序,另一些语言提供了解决冲突的协议.无论使用何种语言,程序员都应该尽力避免出现名字冲突.

4.实现属性和服务的机制:实现属性的机制应该着重考虑的几个因素:支持实例连接的机制;属性的可见性控制;对属性值的约束.对于实现服务的机制来说,主要应该考虑下列因素:支持消息连接的机制;控制服务可见性的机制;动态联编:所谓动态联编,是指应用系统在运行过程中,当需要执行一个特定服务的时候,选择(或联编)实现该服务的适当算法的能力.动态联编机制使得程序员在向对象发送消息时拥有较大自由,在发送消息前,无须知道接收消息的对象当时属于哪个类.

5.类型检查机制:按照编译时进行类型检查的严格程度,程序设计语言分为三种类型:弱类型、强类型和混合型.弱类型:语言仅要求每个变量或属性隶属于一个对象.强类型:语法规定每个变量或属性必须准确地属于某个特定的类.面向对象语言包含不同类型的语言,如,Smalltalk实际上是一种无类型语言;C++则是强类型语言.混合型语言:为提高操作效率,允许属性值不是对象而是某种预定义的基本类型数据,如C++等.强类型语言有两个优点:有利于在编译时发现程序错误;增加了优化的可能性.通常使用强类型编译型语言开发软件产品,使用弱类型解释型语言快速开发原型.一般来说,强类型语言有助于提高软件的可靠性和运行效率,现代的程序语言都是强类型的,大多数理论支持强类型检查.

6.类库机制:目前,所有的面向对象的程序设计语言都提供一个实用的类库.某些语言本身并没有规定提供什么样的类库,而是由实现这种语言的编译系统自行提供类库.有了类库,程序员可以重用许多软构件,不必重新编写,这为实现软件重用带来很大方便.类库中通常包含实现通用数据结构的类,例如动态数组、表、队列、栈和树等,通常把这些类称为包容类.类库中还包含了实现各种关联的类.更完整的类库通常还提供了接口类和图形库.

7.效率机制:早期的面向对象语言是解释型而不是编译型的.大家认为这些语言缺点是效率低.当今面向对象语言都拥有完整类库,类库中提供了更高效的算法和更好的数据结构,与非面向对象语言相比,得到更快运行的代码.如,库中已经提供了算法先进、代码可靠的一类数据结构,程序员再不必编写像实现哈希表或平衡树算法的代码了,因此,提高了编程效率和运行效率.

8.永久保存对象机制:在一个程序都对数据进行处理时,希望数据能够长时间保存下来.保存数据需要提供某种保存数据的方法.长期保存数据主要有两个原因:①为实现在不同程序之间传递数据,需要保存数据;②为恢复被中断了的程序的运行,首先需要保存数据.对于不同面向对象语言,长期保存数据的方法也不同.有些面向对象语言(例如C++)没有提供直接存储对象的机制,这些语言的用户必须自己管理对象的输入/输出,或者购买面向对象的数据库管理系统.有些面向对象语言(Smalltalk)把当前的执行状态完整地保存在磁盘上.还有一些面向对象语言提供了访问磁盘对象的输入/输出操作.通过在类库中增加对象存储管理功能(EIFFEL采用策略),可在开发环境中提供对象存储管理功能,而且还不改变语言定义或不增加关键字.然后,从“可存储的类”中派生出需要永久保存的对象,该对象自然继承了对象存储管理功能.

9.类模板机制:EIFFEL语言中就有参数化类,C++语言也提供了类模板.Visual Basic和Visual C++提供了函数模板和类模板.

10.开发环境机制:在开发大型系统的时候,还可能需要系统构造工具和变动控制工具.因此应该考虑语言本身是否提供了这种工具,或者该语言能否与现有的这类工具很好地集成起来.

结论:面向对象程序设计语言以对象为中心,提供了类、继承等机制,每个对象是程序运行时的基本成分.面向对象的程序设计是设计类及由类构造程序的方法和过程,以计算机对象模拟现实世界,提供丰富的类库和强有力的开发环境.完善的机制是面向对象语言强大生命力的体现.研究和发展面向对象语言机制有其实用价值和学术价值.

相关论文

北航国际学院:面向对象的信息化方法

本文是一篇留学生论文范文,留学生相关在职研究生毕业论文,关于北航国际学院:面向对象的信息化方法相关毕业论文的格式范文。适合留学生及信。