1. 对象 面向对象的方法基于对象概念。数据库中的每个事物都看作是一个对象,而且每个对象是唯一可标识的,并且是自完全的。对象可以是有形的或抽象的,简单的或复杂的。基本(原子)的对象如一个整数、一个字符串,它们没有属性,仅有一个值,其值就是对象本身。较复杂的对象包含有属性和行为特性。通过属性还可以引用其他对象,其他对象仍然还可以包含有属性和行为特性等等。 一个对象的行为特性隐藏在方法中。方法是由操纵和回送一个对象状态的编码组成。方法是对象定义的一个组成部分。对象的方法以及属性在对象外部是不可见的。一个对象与其他对象的通讯是通过消息实现。对于由一个对象可解释的消息,存在着一个相应的执行该消息的方法。通过执行一个相应的方法并回送一个对象作为一个对象对某个消息的反应。 复杂对象是包含了其他对象而建立的一些对象,或者说是对简单的对象进行各种构造而得到的对象。简单的对象如整数、实数、字符串、布尔量等。构造型的复杂对象如集合、元组和表等。还有许多其他的方法,可以构造更复杂的对象。下面讨论复杂对象主要的三种形式。 (1) 具有共享子对象的网络结构 复杂对象是指对象的属性值是其它的对象,而且子对象之间形成聚合层次或网络关系。例如,一张建筑施工平面图,其中包括许多基本图素,如点、线、圆等。同时还包含许多部件或符号,如门、窗、轴线、墙线、单元房间等。这些墙线和单元房间又与门、窗有联系,因为墙线中要为门、窗开洞,洞的大小要与使用的门、窗型号一致,因此形成复杂的网络关系。 组合对象是复杂对象的一种特殊形式,是由下一级的其他对象组合而成的,这下一级对象又可由它的更下一级的对象组成,如此等等,形成一种层次结构。组成下级对象的部件通常是不同的实体。传统的数据库系统不能直接支持组合对象层次结构。然而现实世界中这是一种非常普遍的事物。 例如,在城市规划系统中,一个地区可划分成许多小区,每个小区可包含建筑物、公园、树林和道路等。这些对象都是基于不同的实体,各自具有自己的特性,但是它们彼此通过特殊的内容相关联,即建筑物、公园、树林和道路都包含在小区内,小区是整个地区的组成部分,地区规划组合对象的层次结构描述如下: CLASS region //地区类定义 (3) 聚合属性
|