框中的符号
+ public
- private
# protected
~ default
_ static
斜体 抽象
图示

关联、聚合、组合:可以带箭头,也可以不带监听
关系说明
继承、实现很清晰,表示两个类的归属关系。
依赖、关联、聚合、组合的界限并不清晰,它们表示两个类的引用关系,关系强弱:依赖 < 关联 < 聚合 < 组合。
对比说明:
- 依赖
- 临时变量、方法参数
- A 需要
临时用到 B 的功能 - 如人与杯子
- 关联
- 成员变量
- A 需要
长期用到 B 的功能 - 如人与眼镜
- 聚合
- 成员变量
- A 需要 B 作为自己的
组成部分,B可以独立存在,可以属于他人 - 如人与衣服、雁群与大雁、公司与员工、汽车与轮胎
- 组合
- 成员变量
- A 需要 B 作为自己的
组成部分,B不可以独立存在,独属于 A - 如人与胳膊、鸟与翅膀、公司与部门
A 与 B 究竟是哪种关系,主要看编码者如何设计,即编码者认为他们是什么关系。比如人与衣服:
如果设计里这个人是一个普通的人,那衣服与人只是聚合关系。
如果设计里这个人是一个体面的人,那衣服与人就是组合关系。

2007

被折叠的 条评论
为什么被折叠?



