面向对象数据库中的术语

时间:2012-06-05 06:42:53

标签: oracle oop

我正在研究oracle中的面向对象概念,并且在某些方面存在一些混淆 例如,我知道如何创建对象类型,但不知道什么意思不可实现?

create or replace type compar_item_t as object(
com varchar2(50),
chint varchar2(254),

 not instantiable member function getChint
                  return varchar2,
                 member function print
                  return varchar2
) not instantiable not final;                 

不可实例化意味着我们无法实例化它?或者上一个术语意味着什么?我的意思是不可实例化而不是最终的; ?

1 个答案:

答案 0 :(得分:2)

我认为如果您还不熟悉本文档可能会有所帮助:

  

http://docs.oracle.com/cd/B19306_01/server.102/b14220/objects.htm

     

Oracle对象技术是一个基于Oracle的抽象层   关系技术。

这意味着“这是我们的产品,因此我们在制定自己的术语时会这样做”;)

无论如何,甲骨文的意思是“实例化”(我不确定你会在大多数词典中找到这个词,并且可能被大多数法术检查者拒绝;))?来自同一个链接:

  

将方法声明为NOT INSTANTIABLE意味着类型不是   提供该方法的实现....

     

NOT INSTANTIABLE类型的子类型可以覆盖任何类型   超类型的非可实例化方法并提供具体的   实现。如果还有任何不可实例化的方法,   必须将子类型声明为NOT INSTANTIABLE ....

所以我猜“非实例化”类似于大多数其他OOP语言中的“抽象基类型”或“接口”。

... IMHO