1.4继承
就像类层次中所说的,继承是为了多态和数据共享的目的,也是面向对象代码重用的重要机制之一。
I.5滞后联编
即实现了重载的效果,OODBMS不能在编译时把操作名联编到程序上,必须在运行时根据需要进行抉择。
1.6对象的嵌套
是一种设计模式—组合。将多个类的对象加人到一个类的属性中,使之实现复杂的功能。
2面向对象数据库语言
ool}B语言用于描述面向对象数据库模式,说明并操作类定义和对象实例。ooDB语言主要包括对象定义语言(ODL)和对象操作语言( OML ),其中对象操作语言又包括一个重要子集—对象查询语言(OQL) t3)。OODB语言一般应该具备下列功能。
2. 1类的定义与操作
包括定义、生成、存取、修改和撤销类。其中类的定义包括定义类的属性,操作特征、继承性与约束等。
2. 2操作/方法的定义
面向对象数据库语言可以用来定义操作/方法,在操作实现中,语言的命令可用于操作对象局部数据结构。
2. 3对象的查询
OODB语言可以用于操作(包括生成、存取、修改与删除)实例对象。对于对象的存取—查询部分,OODB语言可以直接查询对象个公有成员而不必向每一个对象“—单”发送消息。而对于非公有成员,则只能通过发送消息来实现存取、修改与删除了。通过发送消息的查询效率可能会很低,因此对于一些经常要查询的数据应该尽量定义为公有类型。
3面向对象数据库模式
3. 1模式的一致性
(1)唯一性约束:即同一模式中所有类的名字必须唯一、类中属性名和方法名必须唯一。
(2)存在性约束:每个被引用的类必须在模式中定义、某操作代码中调用的操作不需给出说明、每一个说明的操作必须存在一个现实程序。
(3)子类型约束:子类和父类(或超类)不能有环、不能有多继承(向Java学习)、单一超类必须加以说明。