PL/SQL - 面向对象
-
简述
在本章中,我们将讨论面向对象的 PL/SQL。PL/SQL 允许定义对象类型,这有助于在 Oracle 中设计面向对象的数据库。对象类型允许您创建复合类型。使用对象允许您实现具有特定数据结构和操作方法的现实世界对象。对象具有属性和方法。属性是对象的属性,用于存储对象的状态;和方法用于对其行为进行建模。对象是使用 CREATE [OR REPLACE] TYPE 语句创建的。以下是创建一个简单的示例address 由几个属性组成的对象 -在 SQL 提示符下执行上述代码时,会产生以下结果 -让我们再创建一个对象 customer 我们将在哪里包装 attributes 和 methods 共同拥有面向对象的感觉 -在 SQL 提示符下执行上述代码时,会产生以下结果 - -
实例化一个对象
定义对象类型提供了对象的蓝图。要使用此对象,您需要创建此对象的实例。您可以使用实例名称访问对象的属性和方法the access operator (.) 如下 -在 SQL 提示符下执行上述代码时,会产生以下结果 - -
成员方法
Member methods 用于操纵 attributes的对象。您在声明对象类型时提供成员方法的声明。对象主体定义了成员方法的代码。对象主体是使用 CREATE TYPE BODY 语句创建的。Constructors是返回一个新对象作为其值的函数。每个对象都有一个系统定义的构造函数方法。构造函数的名称与对象类型相同。例如 -比方方法用于比较对象。有两种比较对象的方法 -Map方法
Map方法是以这样一种方式实现的函数,它的值取决于属性的值。例如,对于客户对象,如果两个客户的客户代码相同,则两个客户可能相同。所以这两个对象之间的关系将取决于代码的价值。Order方法
Order 方法实现一些内部逻辑来比较两个对象。例如,对于一个矩形对象,如果一个矩形的两边都大,那么它就比另一个矩形大。 -
使用地图方法
让我们尝试使用以下矩形对象来理解上述概念 -在 SQL 提示符下执行上述代码时,会产生以下结果 -创建类型主体 -在 SQL 提示符下执行上述代码时,会产生以下结果 -现在使用矩形对象及其成员函数 -在 SQL 提示符下执行上述代码时,会产生以下结果 - -
使用 Order 方法
现在 使用 Order 方法也可以达到同样的效果. 让我们使用 order 方法重新创建矩形对象 -在 SQL 提示符下执行上述代码时,会产生以下结果 -创建类型主体 -在 SQL 提示符下执行上述代码时,会产生以下结果 -使用矩形对象及其成员函数 -在 SQL 提示符下执行上述代码时,会产生以下结果 - -
PL/SQL 对象的继承
PL/SQL 允许从现有的基础对象创建对象。要实现继承,基对象应该声明为NOT FINAL. 默认是FINAL.以下程序说明了 PL/SQL 对象中的继承。让我们创建另一个名为的对象TableTop,这是从 Rectangle 对象继承的。为此,我们需要创建基础矩形对象 -在 SQL 提示符下执行上述代码时,会产生以下结果 -创建基本类型主体 -在 SQL 提示符下执行上述代码时,会产生以下结果 -创建子对象tabletop-在 SQL 提示符下执行上述代码时,会产生以下结果 -为子对象tabletop创建类型主体在 SQL 提示符下执行上述代码时,会产生以下结果 -使用tabletop对象及其成员函数 -在 SQL 提示符下执行上述代码时,会产生以下结果 - -
PL/SQL 中的抽象对象
NOT INSTANTIABLE子句允许您声明一个抽象对象。您不能按原样使用抽象对象;您必须创建此类对象的子类型或子类型才能使用其功能。例如,在 SQL 提示符下执行上述代码时,会产生以下结果 -