5.2Oracle中的对象.doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.2Oracle中的对象.doc

Oracle数据库设计与实现 理 论 部 分 第五章 Oracle中的OOP概念  PAGE 136  PAGE 137 理 论 部 分 第五章 Oracle中的OOP概念 本章目标: 完成本章内容以后,您将能够: 解释ORDBMS与RDBMS之间的区别 解释Oracle中的对象 简介 在上一章中,我们讨论了Oracle中可用的各种数据库对象。本章将讲解RDBMS与ORDBMS之间的区别。然后讨论面向对象编程(OOP)的概念及其优点。最后将详细讨论各种对象类型。 5.1 ORDBMS与RDBMS的区别 数据库管理系统的发展经历了层次模型、网络模型和关系模型。目前最广泛接受的数据库模型是关系模型。传统的Oracle系统是关系数据库管理系统(RDBMS)。Oracle将关系模型扩展为对象–关系模型,从而可以在关系数据库中存储复杂的业务模型。对象–关系模型允许定义对象类型。该模型指定了数据的结构、对数据的操作方法以及如何在关系模型中使用这些数据类???。 在ORDBMS中开发应用程序要比在传统的系统中开发应用程序快得多。在传统的系统中,每当需要在应用程序的不同模块中使用相同的功能时,都必须编写并编译代码。在使用ORDBMS的情况下,每当需要使用相同的功能时,都可以创建并重用对象。RDBMS 本身就比ORDBMS慢,因为修改和实现需要一定的时间。 在ORDBMS中,以下几个方面变得非常简单: 理解表、行以及列 理解两个表之间的关系 分析各种元素之间的关系 5.1.1 面向对象编程的概念 面向对象编程是在程序中组织数据和代码的一种方法。要理解面向对象编程,首先需要了解类、对象、属性以及方法。 对象 对象是可重用的程序组件,开发人员只需知道它,而无需了解它的工作原理。对象是系统中的基本实体。这些对象可以表示人、地点、银行帐户或由程序处理的任何项目。每个对象都包含一种属性,以及一个或多个方法。属性可以是对象的任何特性。 类 类是指对象的定义。类可以用来将整组的数据和代码放入一个用户定义的数据类型中。一旦定义了类,就可以创建许多属于该类的对象。 属性 每个对象都由若干方法和属性构成。属性用于标识对象,例如姓名、电话号码、部门编号等。这些属性是在对象的类定义中以变量声明的形式实现的。 方法 方法是用于执行与对象有关的操作的函数和过程。任何与对象有关的操作都是作为方法来实现的。比较两个对象就是方法的一个示例。 5.1.2 面向对象编程的特性 面向对象编程具有以下三个主要特性: 封装 继承 多态 封装 将数据和函数包装到一个单元中的过程称为“封装”。不能从外部访问数据,只有包装在类中的那些函数才能访问数据。这些函数在数据与程序之间提供了接口。封装数据以使程序无法直接访问的行为称为“数据隐藏”。 继承 图5.1:类型层次 A 所有子类型的父类型 D A的子类型 B A的子类型 C的父类型 C B的子类型 继承允许在设计新对象时,继承已经创建的对象的功能。它是一个类的对象获取另一个类的对象的属性的过程。继承体现了重用的思想,可以向现有类中添加额外的功能,而无需修改此类。这一特性的优点是,可以将对软件对象定义的修改传播给同一类型的所有对象、以及继承这些对象的所有对象,等等。 SQL类型的继承 通过创建添加了某些不同特性(如其他的属性或方法)的子类型,可以将对象类型专门化。子类型由父对象类型派生而来,父对象类型也称为派生子类型的“父类型”。子类型与父类型是通过继承相关的:子类型由父类型专门化而来,它拥有父类型的所有属性和方法,并拥有该子类型自身定义的任何专门化特性。子类型还可以添加自己的新属性和新方法,通过继承将其子类型和父类型连接起来,形成类型层次。图5.1显示了父类型与子类型的层次关系。 子类型既可以从父类型直接派生而来,也可以通过中间层次上的其他子类型间接派生而来。通过定义父类型的一个专门化的变体,即可从父类型派生出子类型。例如,从对象类型Students可以派生出两个专门化的类型:School _student和College_student。这两个子类型的每一个实际上仍然是Student,但却是一种特殊的Student。在子类型中,通过对其从父类型获得的属性或方法进行某些修改,可以使子类型专门化,并且与其父类型有所不同。 对象类型的属性和方法形成了该类型的特点。这些属性和方法是类型本质的、起到定义作用的特性。如果Student类型具有Student_id、name和address三种属性以及方法get_id(),那么所有从Student派生的对象类型都将拥有这三个属性以及方法get_id()。子类型是其父类型的一个特例。 方法的继承 子

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档