关联表示对象之间在某一段时间里会产生联系。
(一)和时间有关
(二)和对象有关
某个document对像在某个时刻与User对象是多对一的关系
实线,箭头!!!!
几个概念
关联名
投掷就是关联名,这是双向关联
导航
可不可以从一个对象访问到另一个对象
public class document{
private String title
private user User
}
表示Document有一个引用指向User,User没有指向Document的引用。单向关联
如果是双向关联则没有箭头
角色名称
实际上就是属性名
public class Document{
private String name;
private byte[] content;
private User creator;
}
creator写在关联的线上。如果类的属性已经用关联表示,则不需要在属性列表中列出来
树型结构
关联和依赖的区别
其实可以说没有区别
- 那什么时候用关联,什么时候用依赖呢?
如果不关心结构,比如我只是调用类的某个方法,可以不建立关联,就直接用依赖!!!
聚合和组合
整体和部分的关系,如果两者生命周期一样可以说是组合关系,否则认为是聚合关系。