由于经常需要画uml类图,在这里记录下几种关联关系
类与类之间的关联关系主要分为以下几种:

  1. 依赖(Dependency)
  2. 泛化(Generalization)
  3. 实现(Interface Realization)
  4. 关联(Association)
  5. 聚合(Aggregation)
  6. 组合(Combination)

1.依赖:一个类依赖于另外一个类,方向是单向的。依赖一般是一个类作为另外一个类的属性,通过mehod的方式注入值。例如:我和食物的关系,我一次只吃一种食物,但是食物有很多种,不同食物将会通过同一个method传递给我这个类消费。

2.泛化:也就是类与类之间的继承关系

3.实现:接口实现

4.关联:类与类之间的联结,它使一个类知道另一个类的属性和方法 ,关联可以是双向的,也可以是单向的。关联关系不像依赖关系那样,表现为临时性,一般是长期性的。例如:我和我的朋友的关系。

5.聚合:类之间整体与个体的has-a关系,整体和个体是可以分离的。例如:部门与员工,部门解散了,对员工没什么影响,员工依旧可以选择加入其它部门

6.组合:类之间整体与部分的contains-a关系,一旦整体不存在了,部分对象也将不存在。例如:公司与部门,如果公司不存在了,部门也将不会存在:

几种关系表现得强弱关系为:组合 > 聚合 > 关联 > 依赖

UML中常见的几种关联关系(依赖、泛化、实现、关联、组合、聚合)相关推荐

  1. UML中常用的几种图

    浅谈UML中常用的几种图 1 UML简介 2 UML常见图分类 3 用况图(用例) 4 类图 简单类图使用 举例 5 其他辅助用图 时序图(顺序图) 协作图(Collaboration Diagram ...

  2. 分布式事务中常见的三种解决方案

    分布式事务中常见的三种解决方案 目录 一.分布式事务前奏 二.柔性事务解决方案架构 (一).基于可靠消息的最终一致性方案概述 (二).TCC事务补偿型方案 (三).最大努力通知型 三.基于可靠消息的最 ...

  3. zhlan--Python中常见的几种格式化输出

    >>>Python中常见的几种格式化输出 # 字符串格式化:name = input('请输入你的名字:')sex = input('请输入你的性别:')print('欢迎你'+na ...

  4. python中常见的几种错误

    python中常见的几种错误: 1.end前面一定加逗号 2.命令输入错误 3.冒号中英文切换 4.命令缩进错误 5.等于号要双等于,否则一个等于号是赋值 6.命令之间正确搭配

  5. Git工作流中常见的三种分支策略:GitFlow、GitHubFlow和GitLabFlow

    摘要:聊一聊Git中的工作流--分支策略. 本文分享自华为云社区<Git工作流中常见的三种分支策略:GitFlow.GitHubFlow以及GitLabFlow>,原文作者:敏捷的小智. ...

  6. 虚拟化中常见的三种硬盘模式

    虚拟化中常见的三种硬盘模式 1.厚置备延迟置零: 默认的创建格式,创建过程中为虚拟磁盘分配所需空间.创建时不会擦除物理设备上保留的任何数据,没有置零操作,当有IO操作时,需要等待清零操作完成后才能完成 ...

  7. 对Java中常见的四种I/O模型理解

    对Java中常见的四种I/O模型理解 1.1 知识科普 1.1.1 同步阻塞I/O(Blocking I/O) 1.1.1.1 阻塞与非阻塞 1.1.1.2 同步与异步 1.1.1.3 同步阻塞I/O ...

  8. Java中常见的几种任务调度框架对比

    Java 任务调度框架对比 一. 概述 二. 对比 三. 参考 一. 概述 本文准备Java中常见的几种任务调度框架进行对比,其中包括Quartz.Elastic Job以及xxl-job. 二. 对 ...

  9. PCBA加工中常见的两种焊接方式详解

    PCBA加工中常见的两种焊接方式详解 PCBA加工,两种常见的焊接方式就是回流焊和波峰焊,与手动焊接技术相比,自动焊接技术具有减少人为因素的影响.提高效率.降低成本.提高质量等优势,在PCBA加工中, ...

最新文章

  1. 汇总|计算机摄影学资源,涉及视频、书籍以及国内外著名实验室
  2. mongodb学习参考博文
  3. localtime与localtime_r
  4. linux 脚本 java_Linux 通过脚本执行Java程序
  5. 复习--linux目录及文件操作
  6. 【教程】一步一步教你如何自定义设置——博客园canvas/JS交互动画背景
  7. 编程通用知识 文件流
  8. HTTP所承载的货物(图像、文本、软件等)要满足的条件
  9. keras中无法用save保存模型的问题
  10. 人人都能学会的python编程教程4:关系运算符与循环
  11. 企业微信可以批量删除聊天记录吗?
  12. 创建Maven时生成的properties标签内容解释
  13. 安全视角下的CAN协议分析
  14. android 电容触摸屏,剖析触摸屏上的电容按键
  15. java查找pdf关键字_Java定位PDF中关键字的坐标
  16. 新型博客网站的运营要素分析
  17. 求最大值-本题目要求读入2个整数A和B,然后输出两个数的最大值
  18. 双臂路由实现vlan间通信
  19. 若非群玉山头见,会向瑶台月下逢
  20. c++内存池工作原理

热门文章

  1. 操作系统的运行机制与体系结构
  2. 计算器中,Byte,Word, Dword, Qword
  3. odps传大文件到oss上_【大数据干货】数据进入阿里云数加-大数据计算服务MaxCompute(原ODPS)的N种方式...
  4. 【视频】技不压身,多学点没有坏处~~~
  5. harmonyOS张瑜,HarmonyOS开发者创新大赛预选赛结束,23支队伍脱颖而出闯入决赛
  6. 你的数据隐私什么时候才能受到保护?
  7. Linux proc详解
  8. 苹果:无须用户同意,App 涨价时自动续订,网友吐槽“App Store 毒性越来越大”...
  9. win7开启热点时“无法启动承载网络”的解决方法
  10. 什么蓝牙耳机适合realme手机?适合realme手机的高端蓝牙耳机推荐