UML中的聚合和泛化有什么区别
目录:
这 主要区别 UML 中的聚合和泛化之间是 聚合是两个以“具有”关系连接的对象的关联,而泛化是从多个类形成一个通用类的过程。
一次开发复杂的软件是不可能的。因此,有必要在实施之前了解软件应该执行什么。统一建模语言 (UML) 是一种可视化图表语言,有助于对软件进行建模。它与 Java 和 C++ 等编程语言不同且更容易。由于它提供了图形表示,即使是非技术人员也可以学习和理解 UML。类图和对象图是 UML 图的两种类型。此外,它们描述了系统的静态视图。聚合和泛化与这些图有关。
聚合、泛化、继承、UML
什么是UML中的聚合
关联表示两个对象之间的关系。聚合是一种关联。换句话说,它是关联的一个特例。当一个对象“拥有”另一个对象时,我们可以将其视为一个聚合。因此,聚合描述了对象之间的“具有”关系。
图 1:聚合
员工和地址与“具有”关系相关联。 Address 类的实例可以存在而没有 Employee 的实例。它是一个聚合。在 UML 中,菱形符号表示聚合。方向表示哪个对象包含另一个对象。
什么是UML中的泛化
泛化与继承相关联,继承是允许类使用现有类的属性和方法的过程。现有类是超类,而新类是子类。泛化将多个类组合成一个泛化类。此外,超类具有最通用的属性和方法。子类可以共享这些属性和方法。子类可以有专门的属性和方法。由于子类是超类的一种,因此泛化表示“是一种”关系。
图 2:泛化
员工是超类。永久和临时雇员是子类,而雇员是永久和临时雇员的广义形式。另一方面,Permanent Employee 和Temporary Employee 是Employee 的特殊形式。 Employee 有属性 id、name、salary 和方法 display。子类 Permanent 和 Temporary Employee 也可以使用这些属性和方法。此外,子类有自己的属性和方法。在 UML 中,箭头表示泛化。
UML中聚合和泛化的区别
定义
聚合是两个对象之间的关联,它描述了“具有”关系,而泛化是将相似的对象类组合成单个通用类的机制。因此,这解释了 UML 中聚合和泛化之间的主要区别。
关系
聚合表示“具有”关系,而泛化表示“是”关系。
UML 表示
菱形符号表示聚合,而箭头符号表示概括。因此,这进一步解释了 UML 中聚合和泛化之间的区别。
结论
简而言之,聚合和泛化是可以在 UML 图中表示的两个概念。 UML中Aggregation和Generalization的主要区别在于Aggregation是两个以“has a”关系连接的对象的关联,而Generalization是从多个类形成一个通用类的过程。
参考:
1.“关联、聚合、组合、抽象、概括、实现、依赖。” Javapapers,可在此处获得。
![UML中的聚合和泛化有什么区别 UML中的聚合和泛化有什么区别](https://img.books-kingdom.com/images/002/image-4042.jpg)