UML
类图笔记
类图:类的属性中有一种能够被该类的所有对象共享的属性,称之为类的作用域(
Class-scope attribute
)
,
也成为类变量(
class variable
);类变量在类图中表示为带下划线的形式。
类也有类作用域操作,图示为带下划线形式,类作用域操作只能存取本类中的类作用域属性。
类的关系:
类图由类和它们之间的关系组成
类与类之间通常有关联、通用化(继承)、依赖和精化等四种关系。
关联
根据不同的含义,关联分为:普通关联、递归关联、限定关联、或关联、有序关联、三元关联聚合。
1.
普通关联
是最常见的一种关联,只要类与类之间存在连接关系就可以用普通关联表示,例如:
对象图
类图表示类与类之间的关系,对象图则表示某一时刻这些类的具体实例和这些实例之间的具体连接关系。
对象的图示方式和类的图示方式几乎一致,主要差别在于对象的名字下面要加划线。
对象名的表示方式:
对象名
:类名
一般方式
:类名
尚未给对象命名
对象名
省略类名
例如:
2.
递归关联(
recursive association
)
如果一个类与它本身有关联关系,这种关系称为递归关联。递归关联指的是同类对象之间语义上的连接,例如网络上的一个节点可以看成一个类:
关联中的角色
任何关联关系中都涉及到与此关联有关的角色,也就是与此关联相连的类中的对象所扮演的角色,如:
在类中,把角色的名字放在与此角色有关的关联关系(直线)末端,并且紧挨着使用该角色的类。
引入角色的好处:指明了类和类的对象之间的关联(
CONTEXT
)。角色名不是类的组成部分,一个类可以在不同了关联中扮演不同的角色,例如:
限定关联:略
或关联
所谓或关联,就是对二个或更多的关联附加的约束条件,使类中的对象一次只能应用于一个关联关系中。
有序关联:略
关联类