正在加载图片...
·50· 电脑与信息技术 2011年6月 之间的耦合度。 一个“模型”。如果概念C2拥有概念C1的所有功能, 并且加上其他功能,便说C2是C1的一个强化。它们 2面向对象程序设计 三者之间的关系如图1所示: “面向对象”的特色是程序围绕被操作的对象来设 计,不是围绕操作本身。所以面向对象里有几个新的概 Conceptl Refinement 念,这就是对象、类、方法、事件、属性等。“面向对象”方 Modeling 法是一种把面向对象的思想应用于软件开发过程中, Modeling 知道开发活动的系统开发方法,简称OO Concept11 (Object-Oriented方法,是建立在“对象"概念基础上的 方法学。它的基本思想是把软件系统分解成一个个的 对象,以对象为中心,以类和继承为构造机制来认识、 图1泛型程序设计三概念之间的关系示意图 理解、刻画客观世界和设计、构建相应的软件系统。 4 三种程序设计的比较 “面向对象”是一种以事物为中心的编程思想。把 数据及对数据的操作放在一起,作为一个相互依存的 上述三种程序设计方法虽然在本质上有很大的区 整体一对象。对同类对象抽象出其共性,形成类。类 别,但它们之间仍然存在连系。面向对象是面向过程发 中的大多数数据,只能用本类的方法进行处理。类通过 展到一定阶段的产物,而泛型程序设计又是面向对象 接口与外界发生关系,对象与对象之间通过消息进行 发展到一定阶段的产物,比如面向对象中的类的成员 通信。程序流程由用户在使用中决定四。 函数离不开面向过程中的函数,而没有面向对象中对 面向对象程序设计方法的中心是围绕着对象、类、 类型的抽象,也不会有泛型程序设计的发展。 消息、继承性和多态性等机制展开的。其中对象、类是 4.1抽象层次 面向对象程序设计方法的核心,消息是连接它们的纽 面向过程的开发在解决问题的时候有点欠缺,抽 带,继承性是面向对象程序设计方法得以最大限度地 象层次不够,因为面向过程主要是以数据流和时间的 实现代码重用,而多态性则是使这一方法更加灵活和 触发进行过程,以函数和模块为共享的单位,如果应用 高效。 的需求经常变化,则面向过程建立起来的程序结构也 会随着需求的改变而发生变化。面向对象的开发是从 3泛型程序设计 现实世界抽象出一个个的对象,再对具有共同特征的 泛型程序设计是以类型需求为中心的程序设计方 对象抽象出类,并通过继承来实现程序的共享和重用, 法。就是说要将程序写得尽可能通用,可以适合多种数 通过消息来实现各个对象之间的通信。在类这一层次 据类型的操作,同时并不损失效率。泛型程序设计的抽 对软件系统进行抽象,而泛型程序设计比面向对象程 象机制是直接建立在需求分析上,从而易于同需求分 序设计具有更高的抽象能力。由于面向对象程序设计 析阶段更好地衔接。泛型程序设计的过程就是发现类 是以共同的基类为共性抽象,而泛型程序设计是以共 型需求、分析类型需求之间的关系,并运用这种类型需 同的需求条件为共性抽象,因此,泛型程序设计比面向 求关系实现系统结构和逻辑的过程。 对象程序设计具有更高的抽象能力,并且泛型程序设 泛型设计的目标是将算法从对象的行为中分离出 计包含了面向对象程序设计的核心内容。 来,做到算法的设计与数据结构无关,从而实现算法 4.2语言的复杂性 软件的复用。泛型设计必须创新一种技术,将数据结 面向过程的设计是以函数和模块为共享单位,因 构与算法之间的强祸合关系削弱为弱祸合关系,从而 此,面向过程的语言相对而言要简单一些,面向对象是 解决算法软件的复用问题。 以类和接口来对程序进行抽象和组装,比面向过程的 泛型程序设计有三个非常重要的概念,也是泛型 语言抽象性更高,而类和接口的组织和建立要比函数 程序设计的基石,它们是概念(Concep心、模型 的建立复杂得多,因此,面向对象的程序设计语言比面 Modeling)、强化Refinement。概念是一组能支持相 向过程的程序设计语言要复杂。而泛型程序设计是以 应的操作类型数据的定义,这些操作与具体的数据类 共同的需求条件为共同的抽象,具有相同的需求条件, 型无关,也可以认为它是一组类型的集合。当某个类型 在泛型程序设计中就可以进行相同的抽象,而在需求 满足某个“概念”的所有条件,称此模型为该“概念”的 层次上的抽象要比在类和对象上的抽象又要复杂得 1994-2011 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net电 脑 与 信 息 技 术 2011 年 6 月 之间的耦合度。 2 面向对象程序设计 “面向对象”的特色是程序围绕被操作的对象来设 计,不是围绕操作本身。所以面向对象里有几个新的概 念,这就是对象、类、方法、事件、属性等。“面向对象”方 法是一种把面向对象的思想应用于软件开发过程中, 知 道 开 发 活 动 的 系 统 开 发 方 法 , 简 称 OO (Object- Oriented)方法,是建立在“对象”概念基础上的 方法学。它的基本思想是把软件系统分解成一个个的 对象,以对象为中心,以类和继承为构造机制来认识、 理解、刻画客观世界和设计、构建相应的软件系统。 “面向对象”是一种以事物为中心的编程思想。把 数据及对数据的操作放在一起,作为一个相互依存的 整体——对象。对同类对象抽象出其共性,形成类。类 中的大多数数据,只能用本类的方法进行处理。类通过 接口与外界发生关系,对象与对象之间通过消息进行 通信。程序流程由用户在使用中决定[2]。 面向对象程序设计方法的中心是围绕着对象、类、 消息、继承性和多态性等机制展开的。其中对象、类是 面向对象程序设计方法的核心,消息是连接它们的纽 带,继承性是面向对象程序设计方法得以最大限度地 实现代码重用,而多态性则是使这一方法更加灵活和 高效。 3 泛型程序设计 泛型程序设计是以类型需求为中心的程序设计方 法。就是说要将程序写得尽可能通用,可以适合多种数 据类型的操作,同时并不损失效率。泛型程序设计的抽 象机制是直接建立在需求分析上,从而易于同需求分 析阶段更好地衔接。泛型程序设计的过程就是发现类 型需求、分析类型需求之间的关系,并运用这种类型需 求关系实现系统结构和逻辑的过程[3]。 泛型设计的目标是将算法从对象的行为中分离出 来,做到算法的设计与数据结构无关,从而实现算法 软件的复用。泛型设计必须创新一种技术,将数据结 构与算法之间的强祸合关系削弱为弱祸合关系,从而 解决算法软件的复用问题。 泛型程序设计有三个非常重要的概念,也是泛型 程 序 设 计 的 基 石 , 它 们 是 概 念 (Concept)、模 型 (Modeling)、强化(Refinement)。概念是一组能支持相 应的操作类型数据的定义,这些操作与具体的数据类 型无关,也可以认为它是一组类型的集合。当某个类型 满足某个“概念”的所有条件,称此模型为该“概念”的 一个“模型”。如果概念 C2 拥有概念 C1 的所有功能, 并且加上其他功能,便说 C2 是 C1 的一个强化。它们 三者之间的关系如图 1 所示: 图 1 泛型程序设计三概念之间的关系示意图 4 三种程序设计的比较 上述三种程序设计方法虽然在本质上有很大的区 别,但它们之间仍然存在连系。面向对象是面向过程发 展到一定阶段的产物,而泛型程序设计又是面向对象 发展到一定阶段的产物,比如面向对象中的类的成员 函数离不开面向过程中的函数,而没有面向对象中对 类型的抽象,也不会有泛型程序设计的发展。 4.1 抽象层次 面向过程的开发在解决问题的时候有点欠缺,抽 象层次不够,因为面向过程主要是以数据流和时间的 触发进行过程,以函数和模块为共享的单位,如果应用 的需求经常变化,则面向过程建立起来的程序结构也 会随着需求的改变而发生变化。面向对象的开发是从 现实世界抽象出一个个的对象,再对具有共同特征的 对象抽象出类,并通过继承来实现程序的共享和重用, 通过消息来实现各个对象之间的通信。在类这一层次 对软件系统进行抽象,而泛型程序设计比面向对象程 序设计具有更高的抽象能力。由于面向对象程序设计 是以共同的基类为共性抽象,而泛型程序设计是以共 同的需求条件为共性抽象,因此,泛型程序设计比面向 对象程序设计具有更高的抽象能力,并且泛型程序设 计包含了面向对象程序设计的核心内容[4]。 4.2 语言的复杂性 面向过程的设计是以函数和模块为共享单位,因 此,面向过程的语言相对而言要简单一些,面向对象是 以类和接口来对程序进行抽象和组装,比面向过程的 语言抽象性更高,而类和接口的组织和建立要比函数 的建立复杂得多,因此,面向对象的程序设计语言比面 向过程的程序设计语言要复杂。而泛型程序设计是以 共同的需求条件为共同的抽象,具有相同的需求条件, 在泛型程序设计中就可以进行相同的抽象,而在需求 层次上的抽象要比在类和对象上的抽象又要复杂得         ·50·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有