在实际开发中,UML是被广泛使用到的工具。对于初始接触的童鞋来说,要记忆这些概念确实有点不容易。以下是我在网上搜索总结的。也参考了很多网上其他的blog。主要是为了方便自己查看。
依赖 (Dependency)
关联 (Association) 聚合 (Aggregation) 组合 (Composition) 强弱关系: 依赖 < 关联 < 聚合 < 组合 依赖: [UML表示法]: 虚线 + 箭头 【关系】:"...use a ...." 【具体编程】:依赖表现为如果A依赖于B,则B体现为A中某个方法的局部变量 方法参数或静态方法的调用。 关联: 【UML表示法】:实线 + 箭头 【关系】:"...has a..." 【具体编程】:依赖表现为如果A类关联于B,则B体现为A中存在的一个属性 聚合: 【UML表示法】:空心菱形 + 实线 + 箭头 【关系】:"...owns a..." 聚合是强的关联。暗示着一种所属关系以及生命期关系。 聚合与关联的区别在于聚合的两个类之间的关系在概念层次上不是一个级别。一般聚合中类的关系总是一个类比另一个类要高,而关联基本上是平级的。 组合: 【UML表示法】:实心菱形 + 实线 + 箭头 【关系】: "...is a part of..." 组合是关系当中最强的。它直接要求包含对象对被包含对象的拥有以及包含对象与被包含对象生命期的关系。 泛化:就是继承 依赖:一个类用到了另一个类,是 use a,被依赖的类作为参数或创造了被依赖类的实例或调用了被依赖 类的静态方法。 关联:一个类用到了另一个类,是 has a,就是一个类包含另一个类的实例。 普通关联2个类在一个层次上,聚合关系的2个类处于不同的层次上,一个是整体,一个是部分。 原文链接:https://www.f2er.com/javaschema/286150.html