面向对象程序设计方法学的研究.doc
文本预览下载声明
面向对象程序设计方法学的研究
北方工业大学
第4卷第3期J.NORTHCHINAUNIV.OFTECH.Vo1.4No.31992
一
.面向对象程序设计方法学的研究
李也白
(工学部)
Tf)
摘要i~-~e了面向对象方法与人类思维方式的关系,定史了面向对象程序
方法学中的几个重要概念t数据抽象,继承和多态性,并简单介绍c”实现数
据抽象.继承和多态性的方法.
关键词数据抽象,继承,多态性/面向对象方法
分类号TP311.11
栀商计
近年来计算机技术以不可阻挡之势迅猛发展,特别是硬件技术性能的提高和迅速普
及,使得计算机技术的应用范围越来越广泛.软件技术方面,传统的程序设计方法和程
序设计语言在具有高度复杂性,大规模,数据与操作一体等特征的应用面前显得力不从
心.人们开始研究新的程序设计方法,8O年代末,出现了面向对象程序设计技术(Object-
orientedProgrammlng,简称OOP)并形成了一种新的方法.它具有结构化程序设
计的一切特性并提供了一种全新的分析和解决程序设计任务的思想.OOP源于数据抽
象的概念,它把系统中所有的资源,如数据,程序模块及系统都看成对象,每个对象可
由它的特性和对这些特性的操作组成.这一方法使得设计人员能按照自己的意图创建对
象并将问题映射到该对象上,减轻程序设计细节上的压力,使系统开发变得明确,简单.
OOP最重要的性质是对象.这是一种融数据及对数据的操作为一体的数据抽象概
念.本文主要讨论面向对象方法的实质,数据抽象及OOP中两个重要概念t继承和多态
性,最后简单介绍OOP语言C”的特点.
1面向对象方法及数据抽象
人类认识客观世界主要有两种方法,一种是从一般到特殊的演绎法,一种是从特殊
到一般的归纳法,抽象思维在其中起主要作用.面向对象方法吸收了抽象概念的精华并
给予规范化,形式化的定义,用来描述客观世界的物体——对象.例如,我们了解一所
大学和一所中学,它们都是客观世界中具体存在的对象,而且它们有一些相同的特征,
如:教师,学生,教学设备,教学活动等.根据这些印象我们形成了学校的概念.学校具
有上述特征,而大学,中学是学校的实捌,这是抽象的过程.面向对象方法是对抽象过
程中产生的抽象对象用文字或语言进行描述,定义它的功能,描述它的状态,明确这类
收稿日期:1992-02—27
第3期李也白:面向对象程序设计方法学的研究89
对象所能完成的工作,建立抽象对象与抽象对象间的联系,使它们运转起来.
程序设计方法学采用了面向对象方法的对象抽象概念,形成了OOP方法.如前所述,
对象在OOP中的概念是广义的,小到一个整数或字符,大到由许多部件构成的模块,系
统都可以称作对象.对象还可以是变量.若干简单对象按其规律可以构成复杂对象,复
杂对象还可以构成更复杂的对象…….从对象的性质看,对象是由用以区别其它类对象
的特性和它特有的操作组成的.在OOP中,对象由设计者定义,其方法与定义整数,字
符变量的概念一样.定义了一类对象就如同建立了一新的数据类型.很明显,OOP方法
相当灵活并且应用范围也很广,这是它与传统程序设计方法不同之处,它拓宽了设计者
的思路.
OOP方法的一个重要问题是对象的定义.我们定义一抽象数据类型,class,用它
来描述抽象的对象,class中包含这类对象的性质和操作.class曲形式定义如下z
classlt;classnamegt;[(lt;parameterllstgt;)]
properties
visiblepropertiesoftheclass}
operations
{operationonobjectofthisclasswhicharevisibletotheuser}
endlt;classnamegt;.
利用class的形式定义,我们可以描述一类具体的对象.例如,图书馆的书是一类具体的
对象,它有书名,出版日期,出版社,作者等特性,另外对书的操作有:
a.借出
b.发生变动时取消借出权保留该书
c.检查书现在是否借出
书,book,的定义如下:
classbook
properties
titlelstringI
date—of—publicationldate~
published—bylpublisherj
written—bylauthort
operationS
create()---~’bookI
loan(book.borrower,date—due)I
reserve(book,borrower,date—reserved)J
on—loan(book)--~BooleanI
endbook
其它抽象的对象也能用cl且ss定义.但是,我们知道客观世界的问题不仅由对象组成,对
90北方工业大学第4卷
象间的相互通讯和相互作用是
显示全部