比较常用UML类图几种关系的小结_java

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。

在UML类图中,比较常用的几种关系有:泛化(Generalization), 实现(Realization), 关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency),接下来,通过本篇文章给大家一一做下详解,具体详情如下:

1.       泛化(Generalization)

【泛化关系】:是一种继承关系, 表示一般与特殊的关系, 它指定了子类如何特化父类的所有特征和行为. 例如:老虎是动物的一种, 即有老虎的特性也有动物的共性.

【箭头指向】:带三角箭头的实线,箭头指向父类

 

2. 实现(Realization)

【实现关系】:是一种类与接口的关系, 表示类是接口所有特征和行为的实现.

【箭头指向】:带三角箭头的虚线,箭头指向接口

3. 关联(Association)

【关联关系】:是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子

关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者

上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

上图为自身关联:

 

4. 聚合(Aggregation)

【聚合关系】:是整体与部分的关系, 且部分可以离开整体而单独存在. 如车和轮胎是整体和部分的关系, 轮胎离开车仍然可以存在.

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体

5. 组合(Composition)

【组合关系】:是整体与部分的关系, 但部分不能离开整体而单独存在. 如公司和部门是整体和部分的关系, 没有公司就不存在部门.

       组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体

6. 依赖(Dependency)

【依赖关系】:是一种使用的关系,  即一个类的实现需要另一个类的协助, 所以要尽量不使用双向的互相依赖.

【代码表现】:局部变量、方法的参数或者对静态方法的调用

【箭头及指向】:带箭头的虚线,指向被使用者

 

各种关系的强弱顺序:

泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

下面这张UML图,比较形象地展示了各种类图关系:

以上内容就是本文的全部叙述,希望大家喜欢。

时间: 2024-10-25 14:39:52

比较常用UML类图几种关系的小结_java的相关文章

[好文要转要收藏] UML类图几种关系的总结

在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization) [泛化关系]:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种. [箭头指向]:带三角箭头的实线,箭头指向父类 2.实现(Realization) [实现关系]:是一种类与接口的关系,表示类

UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类 实现(Realization

UML类图几种关系的总结(转)

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)   1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类   2. 实现(

UML类图中几种关系的总结,EA图中会用到

九种关系总结,EA图中会用到: 关联关系(Association):双向关联,单向关联,自关联.多重性关联Multiplicity. 聚合(Aggregation):整体与部分的关系,整体对象销毁时成员对象不销毁,一般是构造函数或Set方法传入成员对象. 组合(Composition):整体与部分的关系,整体对象销毁时成员对象一并销毁,一般在构造函数中创建成员对象. 依赖关系(Dependency):Driver类依赖Car类的move方法,Driver--->Car 泛化关系(Generali

UML类图简介

概述 设计模式中常常使用UML来表示类与类,类与接口之间的关系,UML类图是设计模式入门必备的技能,感觉各种关系比较多,这里做一下总结. 类与接口的表示 类与接口通常是一个矩形框表示,一般分为3层,第一层显示类的名称,如果是抽象类则类名用斜体表示.第二层代表类的特性,通常是字段和属性,第三层是类的操作,通常表现为方法或者行为,其中+表示public,-表示private,#表示protect  常用关系 继承  继承关系用空心三角形+实线来表示,在Java中体现为extends关键字  实现接口

深入浅出UML类图---写得不错,备忘

九种关系总结,EA图中会用到: 关联关系(Association):双向关联,单向关联,自关联.多重性关联Multiplicity. 聚合(Aggregation):整体与部分的关系,整体对象销毁时成员对象不销毁,一般是构造函数或Set方法传入成员对象. 组合(Composition):整体与部分的关系,整体对象销毁时成员对象一并销毁,一般在构造函数中创建成员对象. 依赖关系(Dependency):Driver类依赖Car类的move方法,Driver--->Car 泛化关系(Generali

PHP与UML类图: PHP and UML Class Diagrams

这篇短文写的不错,用PHP来解释UML(或者反过来说)可以说是一个创新了,通过这篇文章,我也发现了一个好站: www.phppatterns.com .各UML术语的翻译来源于我正在看的<UML用户指南(The Unified Modeling Language User Guide)>一书. UML(Unified Modeling Language, 统一建模语言)是一种通过图的方式表示软件的机制.本质上它允许我们通过画图来设计我们的程序,并且如果有相应的工具,我们甚至可以从图来直接产生代

UML类图学习

类图,英文明曰:Class  diagram,那么类是经过怎样神奇的蜕变,变成了类图呢?大家都知道,类是具有相似结构.行为和关系的一组对象的描述符,类是面向对象系统中最重要的构造块,类图显示了一组类.接口.协作以及他们之间的关系.在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构件这些类从而实现系统,类加上他们之间的关系就构成了类图,类图中还可以包括接口.包等元素,也可以包含对象等实例. 现在我们一起来学习一下类图,首先我们一起来看看,类图之间存在哪些关系: 下面我们一起来对类图之间

UML类图各符号含义

UML类图各符号含义   类图基本符号可拆分为虚线,箭头,实线,空心右三角,实心右三角,空心菱形和实心菱形.由这些基本的图形进行组合构成了类图的基本符号.这里要注意这几个符号的顺序,代表了类与类之间关系的耦合程度.越向右耦合度越高. 其中虚线+箭头是表示即依赖的关系,实线+箭头表示关联的关系,虚线+空心右三角表示implements,实线+空心右三角表示的是泛化,即类的继承关系.实线+空心菱形表示的是聚合的关系,实线+实心菱形则表示组合的关系. 另外一点是在看类图的时候要注意.类图的思想其实也还