本文来自http://blog.csdn.net/maybehelios/article/details/2038685,感谢作者的辛劳。
类之间的关系
1. 种类: Generalization(泛化),Dependency(依赖关系)、Association(关联关系)、Aggregation(聚合关系)、Composition(合成关系)。
2. 其中Aggregation(聚合关系)、Composition(合成关系)属于Association(关联关系),是特殊的Association关联关系。
3. Generalization(泛化)表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。
4. Association关联关系表现为变量(has a )。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。
5. Aggregation(聚合关系) 是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的“拥有”关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果A由B聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。
6. Composition(组合关系)是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。
7. Dependency(依赖关系)表现为函数中的参数(use a)。是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。
相关推荐
依赖关系用于表示临时的交互需求,关联关系用于表示长期的联系,而聚合和组合则分别描述了不同强度的整体与部分之间的关系。了解并掌握这些关系,可以帮助开发者更有效地设计出清晰、灵活且可扩展的系统架构。在实践...
例如,我们可以使用继承来实现泛化关系,可以使用接口来实现实现关系,可以使用委托来实现依赖关系。 在实际开发中,我们可以使用 Visual.UML.Developer.Edition.v5.1 或 StarUML 等工具来绘制 UML 类图,从而更好...
UML关系(泛化,实现,依赖,关联(聚合,组合))
* 聚合关系是一种弱关系,表示整体与部分的关系比较弱。例如,计算机和它的外设之间就是聚合关系。 * 组合关系是一种强关系,表示整体完全拥有部分。例如,“国”和“家”之间就是组合关系。 * 聚合关系中,部分可以...
### UML学习之依赖、关联、聚合、组合与继承 #### 一、泛化(Generalization) **概念:** 泛化表示的是类与类之间的继承关系、接口与接口之间的继承关系,或者是类对接口的实现关系。在UML中,泛化关系通常用一个带...
### UML中依赖、泛化、关联、聚合与组合的Java实现详解 #### UML基础知识概览 统一建模语言(UML)作为一种图形化的标准化建模语言,为软件开发提供了强大的可视化工具,帮助开发者理解、设计和记录软件系统。UML...
总结来说,依赖关系强调短暂的相互依赖,关联描绘类间的结构联系,聚合表示部分与整体的松散连接,而组合则强调整体对部分的强依赖和生命周期管理。理解这些关系对于进行高质量的软件设计至关重要。在实际开发中,...
关联关系是指两个类、或者类与接口之间语义级别的一种强依赖关系。这种关系比依赖关系更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。例如,我和我的朋友之间的...
UML 中的关联关系他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友。这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的...
几种类间关系:继承、实现、依赖、关联、聚合、组合。可做为开发设计时速查手册。
这个名称可能暗示着类图中的一个类,它使用了上述的关联、聚合、组合或依赖关系来管理各种实体对象。 总之,理解UML类图中的关联、聚合、组合和依赖关系对于进行清晰、高效的软件设计至关重要。通过熟练掌握这些...
在UML中,有六种主要的类间关系:继承、实现、依赖、关联、聚合和组合。理解这些关系对于设计高质量的软件架构至关重要。 1. **继承**: 继承是类与类之间的一种层次结构关系,表示一个类(子类)可以从另一个类...
本篇文章将深入探讨UML类图中的五种主要关系:关联、组合、聚合、依赖和泛化,以及它们在实际编程中的应用。 **关联** 是类之间的一种结构关系,表示类之间的连接或相互作用。它通常用一条实线表示,可以是单向或...
双向关联关系表示两个类之间的相互依赖关系,例如两个类都知道对方的存在,都可以调用对方的公共属性和方法。在代码中,双向关联关系通常表现为两个类之间的指针或引用。 单向关联关系表示一个类知道另一个类的存在...
UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合).doc
依赖关系实际上是一种比较弱的关联,聚合是一种比较强的关联,而组合则是一种更强的关联。 在 Java 中,依赖关系可以通过局域变量、方法的形参,或者对静态方法的调用来实现。例如,Driver 类依赖于 Car 类,Driver...
依赖关系描述了一个类如何使用另一个类,但不依赖其存在。这种关系是临时性的,当被依赖的类改变时,依赖它的类可能受到影响。例如: ```csharp public class Employee { public long TakeMoney(Bank bank) { ...
- 整体与部分之间的关系比较松散,即使整体对象消失,部分对象也可以继续存在。 **示例**: 例如,一辆汽车(整体)可以包含多个轮胎(部分)。轮胎可以在不同的汽车之间更换,而且即使汽车报废了,轮胎仍然可以...
(5)聚合:又称组装,其原则是:把一个复杂的事物看成若干比较简单的事物的组装体,从而简化对复杂事物的描述。 (6)关联:是人类思考问题时经常运用的思想方法:通过一个事物联想到另外的事物。能使人发生联想的...
依赖关系表示一个类(依赖者)的正确执行依赖于另一个类(被依赖者)。它是比较弱的一种关联形式,通常涉及到短暂的交互或者临时性的使用。UML中,依赖用带箭头的虚线表示。这种关系强调了类之间的动态联系,有助于...