一直以来,对UML的东西总是模棱两可,对于类图中的聚合和组合,知道两种的区别,但过一段时间后总是分不清两者谁是谁,唉,主要怪自己的语文没有学好,呵呵!
其实,对于聚合和组合,如果换成英文,就很好理解了:聚合就是“has-a”,组合就是“contains-a”。
聚合是空心的菱形;组合是实心的菱形(这个比较好理解,实心的肯定比空心的扎实,哈哈)。
摘录一段话:
聚合和组合的区别在于:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。
我们用浅显的例子来说明聚合和组合的区别。“国破家亡”,国灭了,家自然也没有了,“国”和“家”显然也是组合关系。而相反的,计算机和它的外设之间就是聚合关系,因为它们之间的关系相对松散,计算机没了,外设还可以独立存在,还可以接在别的计算机上。在聚合关系中,部分可以独立于聚合而存在,部分的所有权也可以由几个聚合来共享,比如打印机就可以在办公室内被广大同事共用。
分享到:
相关推荐
UML 聚合和组合的区别
UML类图中的关联、聚合和组合 UML类图中的关联、聚合和组合
UML中依赖泛化关联实现聚合组合的Java实现
UML中依赖泛化关联实现聚合组合的C#实现UML中依赖泛化关联实现聚合组合的C#实现
UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别 这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范 建模了...
UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
UML学习之依赖_关联_聚合_组合_继承
UML关系(泛化,实现,依赖,关联(聚合,组合))
UML中依赖泛化关联实现聚合组合的C#实现_配UML图.doc
UML类关系-依赖,关联,聚合和组合 这几种关系很容易混淆,一个总结文档。
UML中类图中的几个关系:关联、组合、聚 合、依赖关系
NULL 博文链接:https://newtime.iteye.com/blog/505170
UML类图关系泛化、继承、实现、依赖、关联、聚合、组合.doc
UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合).doc
5.3 聚合与组合 5.3.1 聚合 5.3.2 组合 5.4 泛化 5.4.1 泛化/特化 5.4.2 继承 5. 3 重载与多态性 5.5 依赖 5.6 对象图 5.6.1 对象 5.6.2 对象图 5. 7 接口 5.8 对象类的高级概念 ...
全面介绍uml类图的每种情况,带图说明类图中的关联,聚合,组合,依赖等
本文向大家简单介绍一下UML类图关系,UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。希望本文的介绍对你的学习有所帮助。
6.3.6UML中的类与语言中的类 6.4类之间的关系 6.4.1关联关系 6.4.2聚合关系 6.4.3组合关系 6.4.4泛化关系 6.4.5实现关系 6.4.6依赖关系 6.5对象图 6.5.1对象图概述 6.5.2对象图组成 6.5.3类图和对象图的...
描述UML图的四种关系,有依赖,关联关系,还有关联中的聚合和组合关系的说明及用法
NULL 博文链接:https://abcity.iteye.com/blog/1740763