1.依赖关系
依赖(Dependency)也是类与类之间的连接,依赖总是单向的。依赖关系表示A类依赖于另一个B类的定义,但是这种关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。UML中用带箭头的虚线表示。
2.关联关系
关联(Association)关系是类与类之间的联接,它使一个类知道另一个类的属性和方法。这种关系比依赖关系要密切很多,不偶然,也不临时。一般地,程序实现中,类A中的某个属性的类型是类B,我们称类A和类B的关系是关联关系,其中类A称为关联类,类B称为被关联类。关联可以是单向、双向的。双向的关联可以有两个箭头或者没有箭头。单向的关联有一个箭头表示关联的方向。一般来说,单向的关联更普遍。
3.聚集关系
聚集(Aggregation)关系是关联关系的一种,是强的关联关系。聚合是整体和个体之间的关系。关联关系和聚合关系来语法上是没办法区分的,从语义上才能更好的区分两者的区别。如汽车类与引挚类,轮胎类之间的关系就是整体与个体的关系。
4.泛化关系
泛化(Generalization)关系表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,或从实现接口的类指向被实现的接口,与继承或实现的方向相反。在UML中,继承用带三角箭头的实线表示,箭头从子类指向父类;实现用带三角箭头的虚线表示,箭头从实现类指向接口。
5.合成关系
合成(Composition)关系是关联关系的一种,是比聚合关系强的关系。他要求普遍的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系是不能共享的。代表整体的对象需要负责保持部分对象的存活,在一些情况下负责将代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。比如,汽车和汽车的引擎,引擎是汽车的一部分,离开汽车,引擎在当前的建模语境中没有意义。在UML中,组合关系以实心菱形加实线箭头表示。
参考链接:https://blog.csdn.net/qq_36421955/article/details/80824092
https://blog.csdn.net/weixin_43141815/article/details/91791469
https://www.jianshu.com/p/b5a0020fe0f4
原文:https://www.cnblogs.com/kyl626/p/12485848.html