计算机对象的概念对象的特性,计算机教学教程--第12章面向对象的特性.pdf

下载

第12章 面向对象的特性

本章要点:

背景

面向对象技术

Oracle 8对象选项

R E F属性

方法

集合—变长数组与嵌套表

对象视图

12.1 背景

面向对象的D B M S (O O D B M S ),也就是那些非主流的关系型( R D B M S )的D B M S ,是

面向对象程序语言(如 A c t o r 和S m a l l Ta l k )的直接继承。永久存储的需要是促使 D B M S和

R D B M S 的出现来替代第三代语言(3 G L )/基于文件的信息系统的最基本的原因之一,也促使

O O D B M S 的产生来替代面向对象的编程语言信息系统。很有趣的是,喜爱面向对象系统的人

通常认为,面向对象系统比关系数据模型的派生物(如实体关系图的变体)提供更有力的语

义模型,并具有更高的层次。然而,与此同时,反对面向对象系统的人认为,由于它们关注

3 G L /基于文件的信息系统,它们的实现和语言要素偶尔会下降到十分低的层次(按 C / C + +指

针方式)。从本质上讲,它们采取导航的或过程化的查询,这也与前关系型系统(如基于

C O B O L 的分层和网络D B M S )十分相似,而在基于S Q L的R D B M S系统中的查询大多是描述性

的和声明的。

不能不考虑关系型的厂商(如 O r a c l e )因此考虑Oracle 8 和它的当前关系 -对象型的实现。

当用任何R D B M S厂商的产品时,为了估计它的面向对象的能力,必须考虑几件事情,如下所

示:

■ 对面向对象概念和结构的信任。

■ 面向对象到关系的映射的概念和结构。

■ 仿真、完全或混合实现。

■ 性能的降低或加强。

■ 使用现有R D B M S子系统的能力。

希望R D B M S具有面向对象的接口的一个主要的原因是,这样做面向对象应用的程序就可

以与R D B M S 中的面向对象部分直接进行通信,这与在程序代码中必须动态地处理对象 - 关系

型映射(分解和重组)相反。作为一个例子,考虑嵌入式 S Q L。这里S Q L是基于集合的语言,

必须与一个基于记录的主机 3 G L (如C )交互。这是不希望的情况,称为阻抗失配,可以通过

诸如游标的结构和诸如预编译的软件(例如 P r o * C )来进行补救。一个基于面向对象的程序语

言的应用与一个RDBMS 的交互,情况与此相似。

第12章计面向对象的特性计计117

下载

Oracle 8 特别地帮助缓解面向对象的开发和 R D B M S后端的情况,方法是提供一些强有力

的内建的面向对象能力,如下所示:

■ 关系作为数据类型。

■ 继承。

■ 集合作为数据类型,包括嵌套(容器)。

■ 用户定义(可扩展的)数据类型。

■ 改进大对象(L O B )。

和如用任何O O D B M S或对象-关系D B M S (O R D B M S )一样,使用Oracle 8 时,你能利用

面向对象模型的优点。面向对象模型是比关系型模型更高层次的抽象。换句话说,你能抽象

出事物的模型作为一个整体来比较接近地反映“真实的”世界。例如,在你的 O O D B M S 中,

可以具有一个称为 C A R 的复杂对象,它很可能是 R D B M S 中的几个表,如M A K E 、M O D E L 、

E N G I N E 、PA RT S 等等。面向对象模型与关系模型在“自然性”方面的注释是不同。我们来

打个比方:

用面向对象技术,就像你在早上醒来穿上你的衣服,在夜晚你简单地脱掉它们以供下次

再穿,十分自然。但是用关系型技术,你必须为你的衣服收集所有的纺织物,将它们缝在一

起,然后穿上;在夜晚,必须把它们分开,按次序保存它们以供下次再缝和再穿。

尽管这个比喻不完全准确,却有些道理。基本思想是,用 R D B M S进行工作时必须连结在

前一次通过规范

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值