UML中的聚合和泛化有什么区别

目录:

Anonim

主要区别 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中的聚合和泛化有什么区别