五、面向对象的模型 ·对象模型
4 N; u; d+ f( { 对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。该模型主要关心系统中对象的结构、属性和操作,它是分析阶段三个模型的核心,是其他两个模型的框架。
4 Q, K3 Y* E) w! x/ O; z 1.对象和类 P- B% `* M* E6 s
(1) 对象。
% N& t5 _! x, C% } 对象建模的目的就是描述对象。
( g+ l# I) l3 n; u (2) 类。
1 C, U; L0 e. U 通过将对象抽象成类,我们可以使问题抽象化,抽象增强了模型的归纳能力。" D9 {# o( I: Z! A) l, y, d: G6 U. ]
(3) 属性。% A1 e1 t) U- a1 m6 V+ S* ?* f: l
属性指的是类中对象所具有的性质(数据值)。6 E) y/ ~0 b+ ?# k4 v
(4) 操作和方法。
. g2 J0 W5 k: w, d5 l$ n7 v" @ 操作是类中对象所使用的一种功能或变换。类中的各对象可以共享操作,每个操作都有一个目标对象作为其隐含参数。
* s, z$ `. V! C% m# n2 R 方法是类的操作的实现步骤。
. o. v% u3 Q0 H: c 2.关联和链% M8 h4 h% t% `
关联是建立类之间关系的一种手段,而链则是建立对象之间关系的一种手段。
) R- |- W1 k% X5 J (1) 关联和链的含义。+ r2 B8 e7 _( h' s1 M8 |4 G
链表示对象间的物理与概念联结,关联表示类之间的一种关系,链是关联的实例,关联是链的抽象。6 u! d! \3 O! P: i! N, c
(2) 角色。
" I+ d! t& ?7 a 角色说明类在关联中的作用,它位于关联的端点。
/ o# X3 j2 @& E9 Y/ Y$ r4 [ (3) 受限关联。7 W6 ~: b# s0 Y2 O3 g4 m( w' i( [
受限关联由两个类及一个限定词组成,限定词是一种特定的属性,用来有效的减少关联的重数,限定词在关联的终端对象集中说明。& i) a0 w( K" M/ x0 \0 `4 C
限定提高了语义的精确性,增强了查询能力,在现实世界中,常常出现限定词。/ Z, U7 [/ u2 w! |* W8 b
(4) 关联的多重性。
; w" k) s6 Z# c, L0 _* o 关联的多重性是指类中有多少个对象与关联的类的一个对象相关。重数常描述为“一”或“多”。
( X }/ r8 h7 e 3.类的层次结构# w+ X$ J) ]/ N1 Z2 ]% V7 W
(1) 聚集关系。- a! z- B$ i" W. W' z2 o% e
聚集是一种“整体-部分”关系。在这种关系中,有整体类和部分类之分。聚集最重要的性质是传递性,也具有逆对称性。1 h1 n: P, d8 b [# r- H7 B6 x/ L
聚集可以有不同层次,可以把不同分类聚集起来得到一颗简单的聚集树,聚集树是一种简单表示,比画很多线来将部分类联系起来简单得多,对象模型应该容易地反映各级层次。
' z6 i. Y$ Q/ D7 B8 R0 R (2)一般化关系。
# K3 \& p6 F6 x( @' w# | 一般化关系是在保留对象差异的同时共享对象相似性的一种高度抽象方式。它是“一般---具体”的关系。一般化类称为你类,具体类又能称为子类,各子类继承了交类的性质,而各子类的一些共同性质和操作又归纳到你类中。因此,一般化关系和继承是同时存在的。一般化关系的符号表示是在类关联的连线上加一个小三角形 。 |