关系(relationship)
- (概念)关系是
事物
之间的联系。 - (分类)在面向对象的建模中,最重要的3中关系是依赖、泛化、关联。
依赖(dependency)
- (概念)依赖是一种
使用
关系。说明一个事物使用另一个事物的信息和服务,但反之未必。 - (画法)一条
有向虚线
,指向被依赖的事物 - (场景)大多数情况下,在类与类之间用依赖指明一个类使用另一个类的操作,或使用其他类所定义的变量和参量。
泛化(generalization)-->Java中的继承
- (概念)一般事物(称为超类或父类)和该事物的较为特殊的种类(称为子类或子)之间的关系。有时也称泛化为“is-a-kind-of”。
- (画法)一条带有
空心三角形大箭头
的有向实线
,指向父类。
关联(association)
- (概念)一种
结构
关系,它指明一个事物的对象与另一个事物的对象间的联系。 - (画法)一条连接相同类或不同类的
实线
。
4种关联修饰
1. 名称
- (概念)关联可以有一个名称,用以描述该关系的性质。为了消除名称的歧义,可提供一个指出读名称方向的三角形,给名称一个方向。
2. 角色
- (概念)当一个类参与了一个关联时,它就在这个关系中扮演了一个特定的角色。角色是关联中靠近它的一端的类对另一端的类呈现的面孔。
- (画法)可以显式的命名一个类在关联中所扮演的角色。把关联端点扮演的角色称为端点名。
3. 多重性
- 书上写的字看着懂,但是不明白意思,没有具体使用场景。
4. 聚合
- (概念)两个类之间的简单关联表示了两个同等地位的类之间的结构关系,这意味着这两个类在概念上是同级别的,一个类并不比另一个类更重要。有时要对“整体/部分”关系建模,其中一个类描述了一个较大的事物(“整体”),它由较小的事物(“部分”)组成。这种关系称为聚合,它描述了
“has-a”
关系,意思是整体对象拥有部分对象。 - (画法)在整体的一端用一个空心菱形修饰的简单关联。
转载于:https://my.oschina.net/qingjing/blog/2055535