类之间大体分为5中关系:
-
Dependency
(依赖) -
Association
(关联) -
Aggregation
(聚合) -
Composition
(组合) -
Inheritance
(继承)
一、依赖关系
表示一个类依赖于另一个类的定义,其中一个类的变化影响另外一个类。
是一种 use a
的关系。如果A依赖于B,则B表现为A的 局部变量
,方法参数
、静态方法调用
等。

二、关联关系
是一种has a
关系
单向关联:

双向关联:

自关联:

重数性关联:
又称多重性关联关系。表示一个类的对象与另一个类的对象连接的个数。在UML中多重性关系可以直接在关联直线上增加一个数字表示与之对应另一个类的对象个数。
表达方式 | 多重性说明 |
---|---|
1..1 | 表示另一个类的对象只与一个该类的对象有关系 |
0..* | 表示另一个类的对象与零个或多个该类对象有关系 |
1..* | 表示另一个类的对象与一个或多个该类对象有关系 |
0..1 | 表示另一个类的对象没有或只于一个该类的对象有关系 |
m..n | 表示另一个类的对象与最少m个、最多n个该类对象有关系 |
三、聚合关系
关联关系的一种,与关联关系之间的区别是语义上的,关联的两个对象通常是平等的,聚合一般不平等,有一种整体 和 局部的感觉,实现上区别不大。

整体不存在了,部分依然存在,即成员对象可以脱离整体对象独立存在。
四、组合关系
是一种 强依赖
的特殊聚合关系。

如果整体不存在了,部分也将消亡
五、继承关系
5.1 Generalization 泛化关系
is a
的关系

5.1 Realization 实现关系

六、其它
最后给出一个例子:

参考:
https://blog.csdn.net/a19881029/article/details/8957441
http://www.360doc.com/content/12/0909/08/153944_235119557.shtml
网友评论