剖析数据库特性:滞后联编和对象嵌套
2007-05-08 09:25:21 来源:WEB开发网核心提示: 面向对象的数据库系统在逻辑上和物理上从面向记录上升为面向对象、面向可具有复杂结构的一个逻辑整体,允许用自然的方法,剖析数据库特性:滞后联编和对象嵌套(4),并结合数据抽象机制在结构和行为上对复杂对象建立模型,从而大幅度提高管理效率,对象嵌套概念是面向对象数据库系统的一个重要概念,它允许不同
面向对象的数据库系统在逻辑上和物理上从面向记录上升为面向对象、面向可具有复杂结构的一个逻辑整体。允许用自然的方法,并结合数据抽象机制在结构和行为上对复杂对象建立模型,从而大幅度提高管理效率,降低用户使用复杂性。
4 面向对象数据库的特性
面向对象数据库的特性有主要表现在滞后联编和对象的嵌套两方面。
1) 滞后联编
在OO模型中,当子类定义方法与继承下来的超类的方法产生同名冲突,即子类只继承了超类中操作的名称,子类自己实现操作算法,并有自己的数据结构和程序代码。这样,同一个操作名就与不同的实现方法、不同的参数相联系。
一般地,在OO模型中对于同一操作,可以按照类的不同重新定义操作的实现,这称为操作的重载(同名函数,不同参数)。
例如,定义Tdate类,同时为了满足不同的设置需要,可以设定3个Set函数():
以下是引用片段:
ClassTdate
{
public:
intmonth,day,year;//三个属性
voidset(intm,intd,inty);//同时设置三个属性月,日,年
voidset(intm);//设置月
voidset(intd,inty);//设置日,年
}
以下是引用片段:
程序中用到如下定义:
TdatemyDate;
可以有以下不同的set方法(函数)的应用:
MyData.set(12,3,2002);
MyData.set(12);
MyData.set(12,2002);
为了正确执行myDate的一个set方法,OODBMS不能在编译时就把操作set联编到程序上,而必须根据运行时的实际需求,选择相应的对象类型的相应的程序进行联变,这个推迟的转换称为滞后联变。
在同一个面向对象数据库模式中,对象的某一属性可以是一个对象,这样对象之间就产生一个嵌套的层次结构。例如:设Obj1和Obj2是两个对象,如果Obj2是Obj1的某个属性的值,称Obj2属于Obj1,或Obj1包含Obj2。一般的,如果对象Obj1包含Obj2,则称Obj1位复杂对象或复合对象。
对象嵌套概念是面向对象数据库系统的一个重要概念,它允许不同的用户采用不同的粒度来观察对象。对象嵌套层次结构和类层次结构形成了对象横向和纵向的复杂结构。
更多精彩
赞助商链接