依赖
使用虚线箭头
最弱的耦合,学生的某些行为需要使用电脑,这就叫产生了依赖。依赖在代码中表现为:Student类的某个**成员函数的形参、返回值、局部变量或者静态方法的调用等**。表示Student类依赖Computer类。
关联
使用实线箭头
耦合强度比依赖要强,学生可以不用电脑,但是不能没有老师。关联是更紧密的关系,会在Student类中添加Teacher类的成员变量。
关联分为:单向关联、双向关联、自身关联,多维关联
依赖和关联的区别
- 发生依赖关系的两个类都不会增加属性,只是作为方法形参、返回值或者局部变量而已。发生关联的两个类,其中一个类会成为另一个类的属性。
- 从对象的生命周期来看,依赖关系只在方法被调用的时候发生,方法调用结束,依赖关系就会结束。关联关系在类的实例化的时候产生,类对象被销毁的时候关联关系才会结束。
聚合
聚合使用实线、菱形连接。
聚合关系在代码上也是用成员变量进行表示。例如Classes类有Student这个成员变量。
组合
组合使用实现、实心菱形进行表示。
组合关系在代码上也是由成员变量进行表示。