一直以来,对UML的东西总是模棱两可,对于类图中的聚合和组合,知道两种的区别,但过一段时间后总是分不清两者谁是谁,唉,主要怪自己的语文没有学好,呵呵!
其实,对于聚合和组合,如果换成英文,就很好理解了:聚合就是“has-a”,组合就是“contains-a”。
聚合是空心的菱形;组合是实心的菱形(这个比较好理解,实心的肯定比空心的扎实,哈哈)。
摘录一段话:
聚合和组合的区别在于:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。
我们用浅显的例子来说明聚合和组合的区别。“国破家亡”,国灭了,家自然也没有了,“国”和“家”显然也是组合关系。而相反的,计算机和它的外设之间就是聚合关系,因为它们之间的关系相对松散,计算机没了,外设还可以独立存在,还可以接在别的计算机上。在聚合关系中,部分可以独立于聚合而存在,部分的所有权也可以由几个聚合来共享,比如打印机就可以在办公室内被广大同事共用。
分享到:
相关推荐
UML 中的聚合和组合是两种重要的关联关系,它们之间的区别是很多开发者经常混淆的。以下是对 UML 聚合和组合的详细解释: 聚合(Aggregation) 聚合是一种特殊的关联关系,它描述的是一种部分与整体的关系。在这种...
UML 中依赖泛化关联实现聚合组合的 C# 实现 ...UML 中依赖泛化关联实现聚合组合的 C# 实现是我们软件设计中非常重要的一部分,我们需要充分了解 UML 中类与类之间的关系,并使用合适的编程语言和工具来实现它们。
UML 中继承、实现、依赖、关联、聚合、组合的联系与区别 UML 中的继承关系是指一个类继承另外一个类的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系。在 Java 中此类关系通过...
### UML中依赖、泛化、关联、聚合与组合的Java实现详解 #### UML基础知识概览 统一建模语言(UML)作为一种图形化的标准化建模语言,为软件开发提供了强大的可视化工具,帮助开发者理解、设计和记录软件系统。UML...
今天,我们将探讨UML类关系中的四种基本关系:依赖、关联、聚合和组合。 依赖(Dependency) 依赖关系是指一个类使用另一个类的对象或服务的关系。依赖关系是一种弱关系,表示一个类需要另一个类的支持,但不拥有...
本文将深入探讨UML类关系中的四种关键概念:依赖、关联、聚合和组合,以及它们在软件设计中的应用。 1. 依赖(Dependency) 依赖是UML中最弱的一种关系,表示一个类(或对象)的实现或行为需要另一个类(或对象)的...
### UML学习之依赖、关联、聚合、组合与继承 #### 一、泛化(Generalization) **概念:** 泛化表示的是类与类之间的继承关系、接口与接口之间的继承关系,或者是类对接口的实现关系。在UML中,泛化关系通常用一个带...
在UML中,有六种主要的类间关系:继承、实现、依赖、关联、聚合和组合。理解这些关系对于设计高质量的软件架构至关重要。 1. **继承**: 继承是类与类之间的一种层次结构关系,表示一个类(子类)可以从另一个类...
本文将深入探讨UML类图中的几种关键关系:关联、组合、聚合、依赖,这些关系构成了类之间互动的基础框架。 #### 关联关系(Association) 关联关系是类与类之间的最基本连接,它描述了类之间的静态结构关系。关联...
UML关系(泛化,实现,依赖,关联(聚合,组合))
本文将详细探讨UML中的一些关键概念,包括依赖、泛化、关联、聚合、组合以及实现,并结合C#语言给出具体实现示例。 1. 泛化(Generalization): 泛化关系在UML中代表了继承,它表示一个类(子类)继承自另一个类...
在这篇博客“#0x003B UML类图之关联、聚合、组合、依赖”中,作者探讨了类图中的四种主要关系:关联、聚合、组合和依赖,这些都是理解面向对象设计的关键概念。 关联是UML类图中最基本的关系,表示两个或多个类之间...
组合关系在代码中的表现形式与关联和聚合相同,区别同样在于语义级别。 总结而言,这六种关系在UML中各自扮演着重要的角色,它们帮助我们更好地理解和描述软件系统中的各种实体及其相互作用。从强到弱的关系排序为...
本篇文章将深入探讨UML类图中的五种主要关系:关联、组合、聚合、依赖和泛化,以及它们在实际编程中的应用。 **关联** 是类之间的一种结构关系,表示类之间的连接或相互作用。它通常用一条实线表示,可以是单向或...
本文将对UML类图关系中的泛化、继承、实现、依赖、关联、聚合、组合七种关系进行详细介绍。 泛化关系 泛化关系是指一个类继承另外一个类的功能,并可以增加它自己的新功能的能力。这种关系是类与类或者接口与接口...
1. 类图:UML 中的类图用于表示类之间的关系,包括继承关系、泛化关系、组合关系、聚合关系、关联关系等。类图可以用来描述类的结构和行为。 2. 用例图:UML 中的用例图用于描述系统的功能需求,展示系统的Actor、...
在UML(统一建模语言)中,有几种关键的关系类型用于描述系统中类与类之间的关系,包括继承、聚合、泛化和依赖。这些关系是面向对象设计的基础,帮助我们理解不同对象如何共享特性、组合成更复杂的结构以及相互作用...
类图展示了类和对象的关系,包括继承、关联、聚合和组合;序列图和协作图关注对象间的交互顺序和同步;状态图描绘了对象生命周期中的状态变化;活动图则关注系统中的流程和工作流。 2. **面向对象理论**:UML基于...
**用例图**是UML中描述系统功能的一种方式,它展示了系统与外部用户(也称为参与者)之间的交互。在用例图中,你可以看到用例(表示系统功能)、参与者以及它们之间的关系,如关联和扩展。 **类图**是表示系统类和...