首页 > 其他分享 >UML类图中对象之间的几种关系

UML类图中对象之间的几种关系

时间:2023-07-23 11:13:03浏览次数:26  
标签:关系 聚合 泛化 类图 关联 UML 几种

UML类图中对象之间的几种关系

对象之间的关系有:泛化(继承)、实现、依赖、关联、聚合、组合

下面我们来一一说明。

1. 泛化

表示类之间的一种继承关系,父类是子类的泛化,例如对老虎可以泛化为动物。

A继承了B,则A是B的一种,也可以说B是A的泛化。

img

2. 实现

泛化是针对类来说的,它是类之间的关系,而实现时针对接口来说的。类可以实现一个接口,用下面的符号来表示实现关系。

img

3. 依赖

一般而言,依赖关系在Java语言中体现为成员变量、局域变量、方法的形参、方法返回值,或者对静态方法的调用。A依赖于B,如果没有B,A就不能正常工作。

比如特斯拉汽车依赖于电能,如果没有电池,它将无法工作。

img

4. 关联

关联关系是类之间同层次的关系,比如学生和老师是同层次的,一个老师和几十个学生有关联,这是一对多的关联关系,此外还有一对一、多对多、多对一等。

img

上面是多对一的关系,多名同学同时与一位老师有关联。

5. 聚合

聚合关系是一种不同层次的类之间的关系,比如汽车是由发动机、电能、轮胎、车架等聚合而成,汽车和发动机、电池等属于不同层次的东西。是一种部分和整体的关系。

img

6. 组合

组合关系是一种强聚合关系,整体和部分必须同时存在,整体和部分的生命周期相同。

img

标签:关系,聚合,泛化,类图,关联,UML,几种
From: https://www.cnblogs.com/zolmk/p/17574235.html

相关文章

  • 解决Clipse Java内存溢出问题的几种方案
    解决ClipseJava内存溢出问题的几种方案随着Java应用程序的复杂度不断提高,内存溢出成为一个常见的问题。当应用程序超出了可用内存资源时,就会发生内存溢出错误。而在ClipseJava编程开发中,也常常会遇到这样的问题。为了解决这个问题,本文将介绍一些可行的解决方案。1.增加JVM堆......
  • 使用 STM32 测量频率和占空比的几种方法
    这几天在论坛上面解答了好几个询问STM32测量频率的贴子,觉得这种需求还是存在的(示波器、电机控制等等)。而简单搜索了一下论坛,这方面的贴子有但是不全。正好今年参加比赛做过这方面的题目(最后是一等奖嘿嘿),所以把我们当时尝试过的各种方案都列出来,方便以后大家使用,也是作为一个长期在......
  • 学习uml2(不全)part1 (也许有part2)
     UML2.0学习《LearningUML2.0》1.UsecasedescriptionTheseriesofexamplesbellowdescribecasesfromthebasictothecomplicated.Andamodeofusecasetemplateisintroducedwhichisawonderfulone,Ithink.      Basic:......
  • 数仓知识07:数据增量更新的几种方式
    数仓知识07:数据增量更新的几种方式1、增量更新的几种方式增量更新的本质,其实是获取源表中数据变化的情况(增、删、改),然后将源表中发生的变化同步至目标表中。不同的方式,获取源表中数据变化的情况不一样,受技术的限制、表结构的限制,某些方式可能无法获取到完整的数据变化情况,因......
  • 六大类UML类图关系
    https://segmentfault.com/a/1190000021317534 UML,全称UnifiedModelingLanguage,统一建模语言。而UML图分为用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。在面向对象语言中,我们经常看到有用UML类图去表示各种接口和类之间关系的。但是,每次......
  • GoLand中使用PlantUML生成Go UML图,使用go-callvis生成Go 调用关系图
    1.在golandIDE中安装plantuml插件2.安装go-package-plantuml工具goget--insecuregitee.com/jscode/go-package-plantuml.git修改go-package-plantuml代码支持outputfileifopts.OutputFile==""{result.OutputToFile("/tmp/uml.txt")}else{result.OutputToFile(opts.Ou......
  • 【权限维持】Linux下的几种隐藏技术
    0x00前言攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术。0x01隐藏文件Linux下创建一个隐藏文件:touch.test.txttouch命令可以创建一个文件,文件名前面加一个点就代表是隐藏文件,如下图:一般的Linux下的隐藏目录使用......
  • Unity游戏存档读档的几种方式
    1.二进制privatestaticvoidSaveByBinary(){//创建二进制格式化程序BinaryFormatterbf=newBinaryFormatter();//创建一个文件流FileStreamfs=File.Create(GetFilePath(SaveDataType));//二进制方法序列化对象......
  • hbase数据模型有几种字段类型
    HBase数据模型中,主要有以下几种字段类型:1.列族(ColumnFamily):列族是HBase数据模型的基本组织单元。它是逻辑上相关的列的集合,通常表示一个实体的属性或者一组相关属性。列族在表创建时定义,所有属于同一列族的列都具有相同的前缀。2.列(Column):列是列族中的成员,由列族......
  • 21UML 4+1视图
    视图是软件构建的视角4:逻辑视图(系统分析、设计人员:类和对象)、实现视图(程序员:代码)、进程视图(系统集成人员:进程、并发、线程)、部署视图(系统和网络工程师:软硬件映射)1:用例视图(最终用户、需求分析)......