对象的信息模型通过标识对象和类(包括属性、操作)以及它们之间的关係,如继承关係、组成关係和其他依棘关係,反映静态状态下各个对象和类之间的信息依赖关係。
面向对象的信息模型共分三个层次,即系统层、对象层和操作层。
基本介绍
- 中文名:对象信息模型
- 外文名:Object Information Model
- 层次:系统层、对象层和操作层
- 定义:通过对象和类反映信息依赖关係
- 领域:计算机
- 套用学科:计算机原理
系统层
在建立对象的信息模型时,首先要寻找出问题空间中人们关心的对象,即问题空间的对象(任何实际存在的,并且是在本系统中有意义的实体都可视为对象),并将一组具有共同行为和特徵的对象抽象为对象类。在对象的信息模型中,对象类用一个矩形框表示。
其中,“雇员”代表问题域中一组对象,即用来表示系统中各种雇员,如张兰雇员、李四雇员等。在面向对象的专业术语中称张三、李四为雇员类的实例对象。
系统中与其他对象没有任何关係的对象是无任何意义的,对象只有在与其他对象的相互联繫、相互依赖的关係中,才能明确其含义。关係建立了对象之间的一种逻辑连线,称之为连线,在对象的信息模型中用一条线段来表示系统中对象之间的这种连线关係。
在现实世界中的这两个拥有关係可能具有相同的意义,将这种关係集抽象为联繫。在信息模型中用一条带菱形的线段来表示。
联繫也可分为二元、三元、多元的联繫等。
多元联繫表达的含义比较複杂,而且实现起来比二元联繫困难得多,所以在建模中要儘量避免多元联繫〔按照资料库的相关理论,多元联繫均可转化为多个二元联繫)。模型中含义比较明确的联繫也可以不给出联繫名。
在对象的信息模型中,有两种特殊的关係值得我们认真地加以研究:一种是继承关係,另一种是组成关係。
(l)继承关係:表达了共性与个性的关係,即一个类和它的一个或多个加细描述了的类之间的一种关係,被加细描述的类称为超类、基类或父类,而已经细化T的类称为派生类、子类。子类也是从父类派生而来。
一个类可继承某个父类,其他的子类也可从它派生,这样就形成了一个类层次的继承关係图,称之为类层次结构(或类层次)。当一个类是从多个父类派生而来时,称之为多继承。
另一种非常重要的对象之间的关係是组成关係。
(2)组成关係表达了一种“整体一部分”之间的连线,反映了某一事物是由部分组成该整体对象这一概念,是一种强藕合的连线。
对象层
一类是通过对象的行为表现出来的,称之为操作,反映对象存在的价值。对象和类是属性和操作的有机封装体。
属性是描述类的数据单元,一定是附加在某个对象上的。例如,人有姓名、年龄、学历、身高等属性。每个实例对象的每个属性都有一个值,对给定的属性,不同的实例对象可以有相同的值,也可以有不同的值。例如,张三、24岁、大学毕业、56公斤;李四、24岁、高中毕业、65公斤。通常在现实间题中,对象与属性之间的这种隶属关係是相当直观的.但在有继承关係的对象的信息模型中,有一个属性定位问题,一般来讲,如果有通用的和特殊的属性,则将通用属性放在类层次的高层,而只将特殊的放在低层。如果一个属性适用于大多数的子类,可将其放在通用的父类中,然后,在不需要的子类中把它覆盖。
操作是定义在类上的一组实现步骤,类的外部只能通过类所提供的这组操作来访问其数据部分。操作完成一定的功能,所以,操作使对象呈现出一定的行为。例如,圆类具有显示、隐蔽、平移、缩放等操作,这些操作表现了圆类的行为。操作只能作用在它所属的对象(称为目标对象)上,而且这种隶属关係一般也是明确的。同属性一样,也将通用的操作放在类层次的上层,而将特殊的操作放在下层。

一个对象的属性和操作是非常多的。如人有姓名、年龄、学历、籍贯、身高、体重、头髮的形状、皮肤的颜色、婚姻的状态等。在抽象问题时,只关心在本系统中有意义的属性和操作,否则就不必定义它.例如,在人事档案管理系统中,只关心人的姓名、年龄、学历、籍贯和婚姻的状态等,并不关心人的头髮的形态、皮肤的颜色等.这样,可为每个对象类建立一个描述面向对象信息模型第二层的类和对象模板。
系统中所有类的类和对象描述模板构成了对象的信息模型的第二层。
操作层
在面向对象的信息模型中,对每个对象类中的每个属性给出详细定义(如属性的类型、限制等)。例如,人的年龄用整形数表示,年龄的值在O到200之间,对每个对象类中的每个操作给出其详细的接口.描述和操作的定义。例如,操作的参数、返回类型的说明,操作体用程式流程图或较形式化的PDL语言等形式详细给出其定义。这样就构成了对象关係模型第三层的细节描述。