Oracle对象类型——类型继承、重载、重写
2007-11-13 09:18
351 查看
/*实现Oracle面向对象中的抽象类型*/
/*创建抽象类型规范*/
create or replace type ty_test
is object
(
x number,
not instantiable member procedure pro_test(temp varchar2)
)
not instantiable
not final;
/*创建一个子类型规范,该类型继承自抽象类型*/
create or replace type ty_son under ty_test
(
y number,
overriding member procedure pro_test(temp varchar2)
)
/*创建类型主体,该类型实现了抽象类型中的抽象存储过程*/
create or replace type body ty_son
is
overriding member procedure pro_test(temp varchar2)
is
begin
dbms_output.put_line(temp);
end pro_test;
end;
/*调用*/
declare
ty ty_son;
begin
ty:=ty_son(5,8);
ty.pro_test('aaa');
dbms_output.put_line(ty.x||ty.y);
end;
Oracle对象类型——类型重载
/*首先创建类型规范,该规范中包含存储过程重载*/
create or replace type ty_test
is object
(
x number ,
member procedure pro_test,
member procedure pro_test(temp varchar2)
)
not final;
/*创建类型主体*/
create or replace type body ty_test
is
member procedure pro_test
is
begin
dbms_output.put_line('aaaa');
end pro_test;
member procedure pro_test(temp varchar2)
is
begin
dbms_output.put_line(temp);
end pro_test;
end;
/*调用类型,并输出结果*/
declare
ty ty_test;
begin
ty :=ty_test(5);
ty.pro_test;
ty.pro_test('bbb');
dbms_output.put_line(ty.x);
end;
Oracle对象类型——类型重写
/*创建基类型规范*/
create or replace type ty_test
is object
(
x number,
member procedure pro_test
)
not final;
/*创建基类型主题*/
create or replace type body ty_test
is
member procedure pro_test
is
begin
dbms_output.put_line('aaa');
end pro_test;
end;
/*创建子类型规范子类型实现对基类型的重写*/
create or replace type ty_son under ty_test
(
y number,
overriding member procedure pro_test
)
/*创建子类型的主体*/
create or replace type body ty_son
is
overriding member procedure pro_test
is
begin
dbms_output.put_line('bbb');
end pro_test;
end;
/*调用类型*/
declare
ty ty_test;
begin
ty:=ty_son(5,8);
ty.pro_test;
end;
/*创建抽象类型规范*/
create or replace type ty_test
is object
(
x number,
not instantiable member procedure pro_test(temp varchar2)
)
not instantiable
not final;
/*创建一个子类型规范,该类型继承自抽象类型*/
create or replace type ty_son under ty_test
(
y number,
overriding member procedure pro_test(temp varchar2)
)
/*创建类型主体,该类型实现了抽象类型中的抽象存储过程*/
create or replace type body ty_son
is
overriding member procedure pro_test(temp varchar2)
is
begin
dbms_output.put_line(temp);
end pro_test;
end;
/*调用*/
declare
ty ty_son;
begin
ty:=ty_son(5,8);
ty.pro_test('aaa');
dbms_output.put_line(ty.x||ty.y);
end;
Oracle对象类型——类型重载
/*首先创建类型规范,该规范中包含存储过程重载*/
create or replace type ty_test
is object
(
x number ,
member procedure pro_test,
member procedure pro_test(temp varchar2)
)
not final;
/*创建类型主体*/
create or replace type body ty_test
is
member procedure pro_test
is
begin
dbms_output.put_line('aaaa');
end pro_test;
member procedure pro_test(temp varchar2)
is
begin
dbms_output.put_line(temp);
end pro_test;
end;
/*调用类型,并输出结果*/
declare
ty ty_test;
begin
ty :=ty_test(5);
ty.pro_test;
ty.pro_test('bbb');
dbms_output.put_line(ty.x);
end;
Oracle对象类型——类型重写
/*创建基类型规范*/
create or replace type ty_test
is object
(
x number,
member procedure pro_test
)
not final;
/*创建基类型主题*/
create or replace type body ty_test
is
member procedure pro_test
is
begin
dbms_output.put_line('aaa');
end pro_test;
end;
/*创建子类型规范子类型实现对基类型的重写*/
create or replace type ty_son under ty_test
(
y number,
overriding member procedure pro_test
)
/*创建子类型的主体*/
create or replace type body ty_son
is
overriding member procedure pro_test
is
begin
dbms_output.put_line('bbb');
end pro_test;
end;
/*调用类型*/
declare
ty ty_test;
begin
ty:=ty_son(5,8);
ty.pro_test;
end;
相关文章推荐
- 第二节类的继承、方法的重载、方法的重写、对象的引用和构造器
- 1.为什么需要继承?如何继承?继承到什么? 2.方法的重载与重写的区别 3.类型的自动转换和强制转换 4.子类特有的方法的调用规则 5.子类重写的方法的调用规则 6.多态的理解 7.面向对象的三大特征
- 类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字
- 继承原则与子父类初始化过程,类成员访问权限,普通类与抽象类,throwble类,重写与重载,string对象修改,i=i++;
- java--面向对象之继承4(重写和重载)
- 面向对象,类的组合关系,继承,实现,方法重写,方法重载,this的使用,抽象方法和抽象类的比较,父类构造方法存在的意义,多态的是用和解析,各种访问修饰符
- 黑马程序员——Java基础---面向对象代码块和继承和this和super和重写和重载和final
- 对象之间的通信,面向对象的三大特征,封装,继承,多态;以及重写,重载
- java面向对象一:实现继承、重载、重写
- Java(01)-基本数据类型,面对对象,关键字,重写与重载,异常体系
- C++继承中重载、重写、重定义的区别
- [转]在.Net中使用Oracle的表类型和对象类型
- 继承、重载、重写和子类实例化
- 不能说的秘密-重载、重写与继承中的构造方法
- C++:运算符重载、string类重写、数据类型转换、->操作符重载、virtual继承、virtual函数、typeid
- 类与对象 类的分类 方法 继承 重写
- oracle 中的大对象数据类型blob、clob、nclob的意义以及区别
- Oracle 中Java 对象与PL/SQL类型的映射及使用
- python继承中重载问题:私有函数不能被子类重写
- 面向对象中的重写(override)与重载(overload)