原文地址:http://www.jfox.info/uml-lei-tu-guan-xi-fan-hua-ji-cheng-shi-xian-yi-lai-guan-lian-ju-he-zu-he
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
1. 泛化(Generalization)
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
【箭头指向】:带三角箭头的实线,箭头指向父类
2. 实现(Realization)
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现.
【箭头指向】:带三角箭头的虚线,箭头指向接口
3. 关联(Association)
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
【箭头及指向】:带普通箭头的实心线,指向被拥有者
上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。
下图为自身关联:
4. 聚合(Aggregation)
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】:成员变量
【箭头及指向】:带空心菱形的实心线,菱形指向整体
5. 组合(Composition)
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体
6. 依赖(Dependency)
【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
下面这张UML图,比较形象地展示了各种类图关系:
相关推荐
UML类图关系泛化、继承、实现、依赖、关联、聚合、组合 UML类图关系是Unified Modeling Language(统一建模语言)的核心概念之一,用于描述系统中的对象之间的关系。本文将对UML类图关系中的泛化、继承、实现、依赖...
在 C# 中,我们可以使用继承、接口和委托来实现 UML 中的依赖泛化关联实现聚合组合。例如,我们可以使用继承来实现泛化关系,可以使用接口来实现实现关系,可以使用委托来实现依赖关系。 在实际开发中,我们可以...
UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合).doc
在 UML 中,还有泛化关系、关联关系、聚合关系、组合关系等多种关系,这些关系都是类与类、或者类与接口之间的关系,可以用来描述类与类、或者类与接口之间的继承、实现、依赖、关联、聚合、组合等关系。 泛化关系...
本篇文章将深入探讨UML类图中的五种主要关系:关联、组合、聚合、依赖和泛化,以及它们在实际编程中的应用。 **关联** 是类之间的一种结构关系,表示类之间的连接或相互作用。它通常用一条实线表示,可以是单向或...
### UML中依赖、泛化、关联、聚合与组合的Java实现详解 #### UML基础知识概览 统一建模语言(UML)作为一种图形化的标准化建模语言,为软件开发提供了强大的可视化工具,帮助开发者理解、设计和记录软件系统。UML...
9. **组合(Composition)**: 更强的聚合关系,表示一个类是另一个类的构成部分,且有生命周期上的依赖,用实心菱形表示。 **JDK UML类图的价值** 1. **理解API**: 通过类图,我们可以清晰地看到JDK类库中类与类...
2. **聚合关系**:表示整体与部分的关系,如“汽车”和“轮胎”。聚合是关联的特殊形式,强调的是部分是可分离的,可以属于多个整体。 3. **组合关系**:比聚合更强烈的整体与部分关系,部分不能脱离整体存在,如...
**关联关系**是UML类图中最基本的关系之一,表示类与类之间的连接方式。 - **普通关联**:最常见的关联类型,表示两个类之间的简单连接关系。例如,“人”类与“计算机”类之间的关联。 - **递归关联**:当一个类...
9. 基数(Multiplicity):在关联、聚合和组合关系中,基数表示一个类的实例可以有多少个对应实例,用数字表示。例如,一个鸟有两只翅膀,基数可以写作"1..2"。 UML类图中的关系分为五种: - 关联(Association):...
在UML类图中,存在六种基本的关系类型:泛化、实现、关联、聚合、组合以及依赖。接下来,我们将详细介绍这些关系的含义、特点以及应用场景。 ### 泛化(Generalization) **定义:** 泛化关系是一种继承关系,表示...
类图是UML中的静态结构模型,用于描述系统中的类、对象、接口、继承、实现、关联、聚合、组合、依赖等关系。 类图符号可以分为以下几类: 1. 类(Class):使用三层矩形框表示,第一层显示类的名称,如果是抽象类...
首先,UML类图是描述系统静态结构的一种模型,它通过类、接口、关联、继承、聚合和组合等元素来表示系统中对象之间的关系。ROSE作为一款强大的UML建模工具,提供了一套直观的图形界面,使得用户可以轻松地创建和编辑...
3. 泛化(Generalization):泛化关系代表继承关系,表示"is-a"的关系,使用空心三角形加实线表示。 4. 依赖(Dependency):依赖关系描述了一个类如何使用另一个类,是"uses-a"的关系,用虚线箭头表示。 5. 关联...
UML类图关系分为关联、聚合/组合、依赖、泛化(继承)四种。 1. 关联 关联关系是类图中最基本的关系,它描述了类之间的相互关系。关联关系分为双向关联、单向关联、自身关联三种。 * 双向关联:C1-C2,指双方都...
UML类图主要用于描述系统的静态结构,定义类、接口、关联、泛化、实现等关系。 UML类图的组成部分包括: 1. 类(Class):对真实世界中事物的抽象,描述名称、属性和方法。 2. 关联(Association):描述类之间的...
在UML中,类图展示了类与类之间的多种关系,包括关联、单向关联、自关联、多重关联、聚合、组合、依赖以及泛化关系。下面我们将详细探讨这些关系及其在Java代码中的体现。 1. **关联关系**: - **双向关联**:例如...
首先,UML类图由一系列类和它们之间的关联、依赖、泛化(继承)以及实现关系构成。类是系统中的基本构造块,它封装了数据(属性)和行为(操作)。在UML中,类通常用一个带有三个矩形的框来表示,顶部矩形代表类名,...
在UML类图中,不同类型的关系反映了不同强度的联系,其强度排序大致为:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖。 #### 五、总结 UML类图是软件设计和开发过程中的重要工具之一,通过图形化的方式直观地展示了...
- **泛化(Generalization)**:泛化表示继承关系,UML中用箭头表示,Java中用`extends`关键字实现。 - **实现(Realization)**:实现关系表示类实现了接口的约定,Java中用`implements`关键字表示。 理解并熟练运用...