UML一一类图关系(泛化、实现、依赖、关联、聚合 - CSDN博客
文章推薦指數: 80 %
UML的类图中,一共有以下六大关系:泛化(Generalization), 实现(Realization), 依赖(Dependence),关联(Association) ...
UML一一类图关系(泛化、实现、依赖、关联、聚合、组合)
whitecamel
已于 2022-04-1910:23:48 修改
31262
收藏
584
分类专栏:
UML
文章标签:
UML类图
类图关系
泛化关系
关联关系
聚合关系
于 2020-02-2412:43:59 首次发布
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37989980/article/details/104470064
版权
UML
专栏收录该内容
1篇文章
2订阅
订阅专栏
目录
类图关系概述
1、泛化关系2、实现关系3、依赖关系4、关联关系
4.1、一对一的关系4.2、单向一对多关系4.3、单向多对一关系4.4、双向一对多、多对一关系4.5、单向多对多关系5、聚合关系6、组合关系
MySQL笔记:B站宋红康最新教程(持续更新中)
UML类图
浅谈UML中常用的几种图
UML——UnifiedmodelinglanguageUML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等,如下图使用UML来建模,常用的工具有RationalRose,也可以使用一些插件来建模
UML图
UML图
画UML图与写文章差不多,都是把自己的思想描述给别人看,关键在于思路和条理,UML图分类:
用例图(usecase)静态结构图:类图、对象图、包图、组件图、部署图动态行为图:交互图(时序图与协作图)、状态图、活动图类图是描述类与类之间的关系的,是UML图中最核心的
UML类图
用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。
类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合
类图关系
跳转到目录
概述
设计一个类中的信息和行为要高内聚设计多个类,类之间要低耦合
面向对象是符合人们对现实世界的思维模式,利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个类,然后创建多个对象,一个设计良好的类,应该是兼顾信息和行为并且高内聚。
而不同的类之间,应该做到松耦合。
当面对应用系统或者需要解决的问题经常是复杂的、高度抽象的,我们创建的多个对象往往是有联系的,通常对象之间的关系可以分为以下几类:
泛化关系实现关系依赖关系关联关系聚合关系组合关系
对于继承(泛化)、实现(实现)这两种关系比较简单,它们体现的是一种类与类、或者类与接口之间的纵向关系。
其他的四种关系则体现的是类与类、或者类与接口之间的引用/横向关系。
这四种关系所表现的强弱程度来看,从强到弱依次为:组合>聚合>关联>依赖。
1、泛化关系(generalization)
跳转到目录
泛化关系其实就是继承关系:指的是一个类(称为子类、子接口)继承(extends)另外的一个类(称为父类、父接口)的功能,并可以增加自己额外的一些功能,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识。
在UML类图中,继承通常使用空心三角+实线表示
接口之间的泛化关系:接口用圆心表示
类之间的泛化关系:
泛化关系的表设计
对于面向对象中的继承关系,设计表的时候有三种情况:
共用一张表每个子类一张表每个类一张表
2、实现关系(realization)
跳转到目录
实现关系:指的是一个class类实现interface接口(可以实现多个接口)的功能;实现是类与接口之间最常见的关系;在Java中此关系通过关键字implements明确标识。
在UML类图中,实现通常使用空心三角+虚线表示
3、依赖关系(dependent)
跳转到目录
依赖关系:指的是类与类之间的联接。
依赖关系表示一个类依赖于另一个类的定义。
一般而言,依赖关系在Java语言中体现为成员变量、局域变量、方法的形参、方法返回值,或者对静态方法的调用。
表示一个A类依赖于B类的定义,如果A对象离开B对象,A对象就不能正常编译,则A对象依赖于B对象(A类中使用到了B对象);比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,类B作为参数被类A在某个method方法中使用。
在UML类图中,依赖通常使用虚线箭头表示
publicclassBClass{
}
publicclassAClass{
privateBClassb1;//依赖关系情况1:成员变量.这也是关联关系
publicvoiddoWork(BClassb2){//依赖关系情况2:方法参数
}
publicvoiddoWork(){
BClassb3;//依赖关系情况3:方法内的局部变量
}
}
publicclassEmployeeServiceImplimplementsIEmployeeService{
privateEmployeeMapperemployeeMapper;
publicPageResultquery(QueryObjectqo){
//TODO
returnnull;
}
}
上面代码折射为UML类图为:
4、关联关系(association)
跳转到目录
关联关系:指的是类与类之间的联接,它使一个类知道另一个类的属性和方法(实例变量体现)。
A类依赖于B对象,并且把B作为A的一个成员变量,则A和B存在关联关系.关联可以是双向的,也可以是单向的。
两个类之前是一个层次的,不存在部分跟整体之间的关系。
在UML类图中,关联通常使用实线箭头表示
按照多重性分类:
一对一:一个A对象属于一个B对象,一个B对象属于一个A对象。
一对多:一个A对象包含多个B对象。
多对一:多个A对象属于一个B对象,并且多个A对象中的每个A对象只能属于一个B对象。
多对多:一个A对象属于多个B对象,一个B对象属于多个A对象。
按照导航性分类:
单向:只能从A通过属性导航到B,B不能导航到A。
双向:A可以通过属性导航到B,B也可以通过属性导航到A。
关联关系的判断方法:
判断都是从对象的实例上面来看的判断关系必须确定一对属性判断关系必须确定具体需求
4.1、一对一的关系
跳转到目录
表的设计
4.2、单向的一对多
跳转到目录
4.3、单向多对一
跳转到目录
4.4、双向一对多、多对一
跳转到目录
表的设计
4.5、单向多对多
跳转到目录
表的设计
5、聚合关系(aggregtion)
跳转到目录
聚合关系是关联关系的一种特例,他体现的是整体与部分,是一种“弱拥有”的关系,即has-a的关系。
聚合是整体和个体之间的关系。
例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。
与关联关系一样,聚合关系也是通过实例变量实现的。
但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。
聚合关系表示整体和个体的关系,整体和个体可以相互独立存在,一定是有两个模块分别管理整体和个体。
在UML类图中,聚合通常使用空心菱形+实线箭头表示
6、组合关系(composition)
跳转到目录
组合关系是关联关系的一种特例,他体现的是一种contains-a(包含)的关系,这种关系比聚合更强,也称为强聚合。
它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,组合关系是不能共享的。
代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。
代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。
换言之,代表部分的对象在每一个时刻只能与一个对象发生组合关系,由后者排他地负责生命周期。
部分和整体的生命周期一样。
整体和个体不能独立存在,一定是在一个模块中同时管理整体和个体,生命周期必须相同(级联)。
在UML类图中,组合通常使用实心菱形+实线箭头表示
相关参考:UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合)
whitecamel
关注
关注
114
点赞
踩
584
收藏
打赏
1
评论
UML一一类图关系(泛化、实现、依赖、关联、聚合、组合)
目录类图关系概述面向对象是符合人们对现实世界的思维模式,利用面向对象设计,特别是采用各种设计模式来解决问题时,会设计多个类,然后创建多个对象,一个设计良好的类,应该是兼顾信息和行为并且高内聚。
而不同的类之间,应该做到松耦合。
当面对应用系统或者需要解决的问题经常是复杂的、高度抽象的,我们创建的多个对象往往是有联系的,通常对象之间的关系可以分为以下几类:泛化关系实现关系依赖关...
复制链接
扫一扫
专栏目录
UML类图关系大全(关联、组合、聚合、依赖、泛化)
04-14
NULL
博文链接:https://abcity.iteye.com/blog/1740763
UML中类图的六种关系
king_weng的博客
03-09
1971
UML的类图中,一共有以下六大关系:泛化(Generalization),实现(Realization),依赖(Dependence),关联(Association),聚合(Aggregation),组合(Composition)。
1、泛化(Generalization)
即继承,是对象之间耦合度最大的一种关系,子类继承父类(或者是子接口继承父接口),...
评论 1
您还未登录,请先
登录
后发表或查看评论
UML类图关系(泛化、依赖、关联、聚合、组合)
zhangjinpeng66的专栏
11-08
1255
一、泛化关系
表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。
一般化的关系是从子类指向父类的,与继承或实现的方法相反。
二、关联关系
表示类与类之间的联接,它使一个类知道另一个类的属性和方法。
体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,不存在依赖的偶然性、关系也不是临时性的,一般是长期的,而且双方的关系一般是平等的。
表现在代码层为被关联类以B类属性的形
UML类图6种关系的总结
那年那些事儿
03-07
2224
在UML类图中,常见的6种关系:
Generalization(泛化、继承)
Realization(实现)
Association(关联)
Aggregation(聚合)
Composition(组合)
Dependency(依赖)
一、6种关系
1、Generalization(泛化、继承)
【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为。
例如:老虎是动物的一种...
UML的9种图例解析
逍遥飞鹤的专栏
07-23
1万+
UML的9中图例概述
作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。
lUML语义:描述基于UML的精确元模型定义。
lUML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。
这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。
标准建模语言UML可以由下列5类图来定义。
l用例图:从用
UML类图关系及其对应代码
mengmeng2222222的博客
04-23
755
UML类图关系及其对应代码
类图中的6大关系
maplecsd的博客
05-06
4389
类图中的6大关系
1.依赖关系(Dependency)
如果在一个A类中用到了另一个B类,那么就说A类依赖B类。
类图表示如下:
只要B类满足下面条件中的任意一个,就说A类依赖B类:
A类中用到了B类
A类中有B类型的成员变量
B类是A类方法的返回类型
B类是A类方法的参数类型
A类的方法中用到了B类
2.泛化关系(generalization)
泛化关系可以说是继承关系,是依赖关系的特例。
用类图表示:
3.实现关系(Implementation)
B类实现了A类,就说A类和B类之间有实现关系
UML中类图的四种关系
炸丸儿
11-30
3454
在UML的类图中,类图之间的关系分为4中:关联(Association)、依赖(Dependency)、泛化(Generalization)和实现(Realization)。
一、关联
关联关系是一种“拥有”关系,它使一种类“知道”另一种类的属性和方法。
举例:企鹅和气候两个类,企鹅需要‘知道’气候的变化和‘了解’气候规律,才去决定什么时候迁徙。
像这样的关系,我们称为关联。
类图的四种关系(UML)
diebiao8992的博客
05-05
281
类图中常见的有四种关系,这些关系是类图的重要组成部分,理解了这几种关系对类图的识别和分析也就不在话下。
它们分别是依赖、关联、泛化和实现,如下图所示:(A为箭尾元素,B为箭头元素)
当然每种关系的使用并不是毫无规则的,在使用时一定要分清楚元素间的关系再来使用,不然只会错上加错。
下面的表格中分别归纳出了这几种关系的定义和符号
比较:
1...
类图六大关系总结
qq_42339210的博客
06-12
4733
一、类图定义
用于描述系统中类(对象)本身的组成和类(对象)之间的各种静态关系。
二、类之间的关系
六大关系:依赖、泛化(继承)、实现、关联、聚合与组合。
讲类之间的关系之前,先说一下类图中属性和方法前面的-,+,#的代表的
UML类图六大关系(实现、泛化、依赖、关联、组合、聚合)
qust_2011的专栏
11-26
1441
UML中有四种关系:实现、泛化、关联、依赖。
关联关系中有两种常用的特殊关系:组合与聚合
六种关系的强弱顺序:实现=泛化>组合>聚合>关联>依赖
UML类图(继承、实现、关联、依赖、组合、聚合),你还傻傻分不清吗?
最新发布
数智技术
05-19
1326
什么是UML
维基百科对UML的定义:
UML(UnifiedModelingLanguage)是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
这个语言由葛来迪·布区,伊瓦尔·雅各布森与詹姆士·兰宝于1994年至1995年间,在RationalSoftware公司中开发,于1996年,又进一步发展。
UML集成了Booch
UML类图关系(泛化、继承、实现、依赖、关联、聚合、组合)
停止更新,迁移至ykpeng.com
05-11
582
By Lee - Lastupdated: 星期六,十月19,2013
LeaveaComment
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
1. 泛化(Gene
UML类图的几种关系及类图的代码体现
记忆力不好的博客
07-25
2121
在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
1.泛化(Generalization)
【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.
【箭头指向】
UML图中类之间的关系:依赖,关联,聚合,组合,泛化,实现
热门推荐
黄规速博客:学如逆水行舟,不进则退
06-07
8万+
类与类图
1)类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。
2)在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。
一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。
3)类的属性即类的数据职责,类的操作即类的行......
uml类图几大关系
yz18931904的博客
06-02
1万+
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特...
UML类图--泛化关系
程序猿YOKO
10-25
1万+
泛化关系-Generalization:属于类的继承关系,表明了子类如何特化或实现父类的属性和方法。
UML类图表示:
箭头指向:带箭头的实线,箭头指向父类。
代码实现:
//测试类
publicclassGeneralizationTest{
publicstaticvoidmain(String[]args){
Animalanimal...
UML类图,类与类之间的几种关系
hust平凡之路的博客
06-05
2962
一、继承关系
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。
在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。
二、实现关系
实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。
在UML类图设计中,实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。
三、依赖关系
简单的理解,依赖就是一个类A使用到了另一...
UML类图与类图之间的关系
m0_51179717的博客
11-01
82
UML(UnifiedModelingLanguage,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。
在UML2.0的13种图中,类图(ClassDiagrams)是使用频率最高的UML图之一。
类图描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在正确编写代码之前对系统有一个全面的认识。
类图是一种模型类型,确切地说,是一种静态模型类型。
类图表示类、接口和它们之间的协作关系,用
UML常见类图关系看这一篇就够了,浅显易懂
snailyy
08-12
6990
享受达到目标的这个过程,会让自己变轻松!
1、UML类图关系
1.1、泛化
1.2、实现
1.3、关联
1.4、聚合
1.5、组合
1.6、依赖
2、UML类图总结
3、UML类图绘制工具
3.1、ProcessOn
3.2、StarUML
1、UML类图关系
1.1、泛化
【泛化】表示是一般与特殊的关系,是isa的关系,表示的是一种继承关系。
【比如...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:撸撸猫
设计师:马嘣嘣
返回首页
whitecamel
CSDN认证博客专家
CSDN认证企业博客
码龄6年
后端领域新星创作者
394
原创
9710
周排名
1562
总排名
79万+
访问
等级
1万+
积分
2735
粉丝
1802
获赞
274
评论
7108
收藏
私信
关注
热门文章
Java学习笔记目录索引(持续更新中)
112566
MySQL一一MySQL基本使用
64705
UML一一类图关系(泛化、实现、依赖、关联、聚合、组合)
31220
PHP一一微信公众号开发(二次开发)
23952
Android一一简述Android四大组件
16786
分类专栏
Java并发编程
付费
12篇
数据结构与算法
付费
33篇
MySQL
付费
27篇
Java常用工具
11篇
日志
6篇
网络协议
6篇
Java
34篇
Spring全家桶
Spring
12篇
SpringMVC
6篇
SpringBoot
14篇
SpringCloud
4篇
SpringData
6篇
SpringSecurity
7篇
数据库
1篇
MyBatis
12篇
Redis
10篇
Java虚拟机
18篇
RabbitMQ
4篇
ElasticSearch
11篇
Leetcode
4篇
设计模式
3篇
分布式
2篇
Shiro
4篇
Maven
2篇
Linux
3篇
UML
1篇
前端技术
11篇
JavaWeb
28篇
Git、SVN
13篇
iOS开发
C
3篇
Objective-C
10篇
UI控件
29篇
多线程网络
33篇
iOS
40篇
Android
4篇
计算机基础
编译原理
3篇
PHP
7篇
Python
3篇
最新评论
SpringDataJPA——多表设计、一对多、多对多、多表查询
玖语巴黎:
例子可以把要修改的配置一起贴出来,比如一对多的级添加,三个add方法都一样,但是改了什么配置并没有展示。
Spring——XML配置事务、注解+XML、纯注解的配置方式
dingrouhao:
实用
重学Elasticsearch第1章:Elasticsearch,Kibana概念、Elasticsearch相关术语
weixin_45599428:
大佬请问这个是参照的B站哪个视频啊
Java实现多级菜单(递归实现)
'超'想敲代码:
谢谢,有帮助
XML解析——Jsoup解析器
qq1448901135:
谢谢大佬,有用
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
RestTemplate(二):RestOperations、具体API使用、RestTemplate原理介绍、使用案例
RestTemplate(一):ClientHttpRequestFactory、ResponseErrorHandler、ResponseExtractor、UriComponents
GuavaCache:本地缓存、GuavaCache介绍,API使用,原理、CacheBuilder
2022
08月
36篇
07月
8篇
04月
14篇
03月
7篇
2021年44篇
2020年168篇
2019年13篇
2018年45篇
2017年107篇
目录
目录
分类专栏
Java并发编程
付费
12篇
数据结构与算法
付费
33篇
MySQL
付费
27篇
Java常用工具
11篇
日志
6篇
网络协议
6篇
Java
34篇
Spring全家桶
Spring
12篇
SpringMVC
6篇
SpringBoot
14篇
SpringCloud
4篇
SpringData
6篇
SpringSecurity
7篇
数据库
1篇
MyBatis
12篇
Redis
10篇
Java虚拟机
18篇
RabbitMQ
4篇
ElasticSearch
11篇
Leetcode
4篇
设计模式
3篇
分布式
2篇
Shiro
4篇
Maven
2篇
Linux
3篇
UML
1篇
前端技术
11篇
JavaWeb
28篇
Git、SVN
13篇
iOS开发
C
3篇
Objective-C
10篇
UI控件
29篇
多线程网络
33篇
iOS
40篇
Android
4篇
计算机基础
编译原理
3篇
PHP
7篇
Python
3篇
目录
评论 1
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
whitecamel
感谢支持~
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1【UML】Class Diagram 類別圖(下):Relationships 關係
Relationships 關係Instance-level 物件層級Dependency 依賴Association 關聯... ... 【UML】Class Diagram 類別圖(下):R...
- 2UML中常見關係詳解(泛化、實現、依賴、關聯、組合 - 程式人生
UML中類與類,已經類與介面,介面與介面的關係有:泛化(generalization),關聯(association),依賴(dependency),實現(realization)這幾種。
- 3UML 類圖(下):關聯、聚合、組合、依賴- 閱坊
前言上一篇文章UML 類圖(上):類、繼承、實現,講了UML 類圖中類、繼承、實現三種關係及其在UML 類圖中的畫法,本文將接着上文的內容,繼續講講對象 ...
- 4Day7. UML類別圖說明 - iT 邦幫忙
實作關係指的是一個class 類別實現interface 介面。 飛機實作可飛行介面. https://ithelp.ithome.com.tw/upload/images/. 聚合( ...
- 5认识UML 类关系——依赖、关联、聚合、组合- 泛化 - CSDN博客
在学习面向对象设计时,类关系涉及依赖、关联、聚合、组合和泛化这五种关系,耦合度依次递增。关于耦合度,可以简单地理解为当一个类发生变更时, ...