继承关系(也可以理解为:泛化) -实线
继承:继承指的是建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,可以重新定义或加进新数据和函数,从而建立了类的层次或等级。

实现关系(可以理解为:具体化)-虚线
接口实现:实现关系(Implementation),主要用来规定接口和实现类的关系。

组合关系(不可分割)
组合关系(Composition):整体与部分的关系,但是整体与部分不可以分开。
组合关系表示类之间整体与部分的关系,整体和部分有一致的生存期。一旦整体对象不存在,部分对象也将不存在,是同生共死的关系。
例如:人由头部和身体组成,两者不可分割,共同存在。

聚合关系(可以分割)
聚合关系(Aggregation):整体和部分的关系,整体与部分可以分开。
聚合关系也表示类之间整体与部分的关系,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。
例如:汽车 = 发动机+轮子。当汽车报废时,发动机和轮子不一定会报废,可能会进入二手市场。

关联关系
关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。
(1)双向关联
默认情况下,关联是双向的。例如:顾客(Customer)购买商品(Product)并拥有商品,反之,卖出的商品总有某个顾客与之相关联。因此,Customer类和Product类之间具有双向关联关系。
(2)单向关联
类的关联关系也可以是单向的,单向关联用带箭头的实线表示。例如:顾客(Customer)拥有地址(Address),则Customer类与Address类具有单向关联关系。
(3)自关联
在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联。例如:单例模式。
(4)多重性关联
多重性关联关系又称为重数性(Multiplicity)关联关系,表示两个关联对象在数量上的对应关系。在UML中,对象之间的多重性可以直接在关联直线上用一个数字或一个数字范围表示。
对象之间可以存在多种多重性关联关系,常见的多重性表示方式如表1所示:

表示方法 多重性说明
1…1 表示另一个类的一个对象只与该类的一个对象有关系
0…* 表示另一个类的一个对象与该类的零个或多个对象有关系
1…* 表示另一个类的一个对象与该类的一个或多个对象有关系
0…1 表示另一个类的一个对象没有或只与该类的一个对象有关系
m…n 表示另一个类的一个对象与该类最少m,最多n个对象有关系 (m≤n)

依赖关系
依赖关系(Dependence):假设A类的变化引起了B类的变化,则说名B类依赖于A类。
大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。依赖关系是一种“使用”关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。=

UML相关箭头图的理解相关推荐

  1. CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解

    CTR 系列文章: 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码) CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解 CTR深度学习模型之 ...

  2. 系统开发基础:UML相关知识笔记

    1.UML概念 统一建模语言(Unified Modeling Language UML)是面向对象软件的标准建模语言.由于简单.统一,又能够表达软件设计中的动态和静态信息.目前UML已经成为可视化建 ...

  3. 【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

    目录 前言 一.注意力机制:Attention 二.自注意力机制:Self-Attention 三.多头注意力机制:Multi-Head Self-Attention 四.位置编码:Positiona ...

  4. 关于c语言中二维数组及相关指针的理解

    一,示例 文章的开头让我们来先看关于c语言二维数组及相关指针的几句话. 假设a是一个整型的二维数组名,用<==>代表等价符号. 1,a可以代表这个二维数组的首行首地址,a+i代表序号为i的 ...

  5. Android平台视频相关的多媒体技术理解笔记

    做了几年的视频相关项目,一直没有系统的对所涉技术进行整理,趁着最近有点事情,整理归纳一下.多媒体技术还是一个相当大而全的领域,我是做视频的,只谈一下视频所涉的一些技术点的理解,平台是基于Android ...

  6. SAP采购源清单中相关设定的理解及应用情形

    源清单在实际应用中有可能包含采购和物流两个部门的联动.所以,用户在针对源清单的应用控制中会有不理解或理解不全面的地方:主要是如何灵活的通过源清单的相关设定来控制采购业务.笔者个人见解如下: 有效起止日 ...

  7. 并发编程基础篇——第一章(并发相关基础概念理解)

    其实讲到并发编程,有时候会问自己为什么要去做这些知识的积累和沉淀,可能我们做业务的在职业生涯里,并不会经常使用到这些所谓的多线程编程,顶多可能开一个线程,去执行个任务,又或者通过定时器触发某个业务,实 ...

  8. Cache相关基本概念理解

    Allocation          在CACHE中发现一个位置,并把新的cache数据存到这个位置的过程.这个处理过程可能包括evicting(驱逐)cache中已存在的数据,从而为新的数据腾出空 ...

  9. 阿伏法机器人_知识与技能 (1)知道机器人的相关知识. (2)理解模块机器人的构成以及各个模块的作用. (3)知道模块电路及其组合方式. (4)初步学会组装和操作模块机器人....

    第三部分 运动学 第一讲 基本知识介绍 一.基本概念 1.质点 2.参照物 3.参照系--固连于参照物上的坐标系(解题时要记住所选的是参照系,而不仅是一个点) 4.绝对运动,相对运动,牵连运动:v绝= ...

最新文章

  1. wallpaper怎么改后缀_腾讯微信视频号怎么引流?腾讯视频号引流有哪些方法?
  2. 中国芯片首富捐资200亿办大学!落地宁波镇海,拟名「东方理工」
  3. Linux内存管理 (4)分配物理页面
  4. oracle的em能干什么,转载 解决Oracle的EM登录
  5. IBM总架构师寇卫东:话说程序员的职业生涯-IT程序人生-职业生涯规划
  6. 分治法:归并排序求逆序对
  7. 小米组织架构调整:雷军兼任中国区总裁 组建大家电部门
  8. TensorFlow models/research
  9. 如何使用react-tools将jsx编译成JavaScript
  10. MySQL事务操作原理与用法详解
  11. 科大讯飞 语音识别 VB WIN10 X64 VS2017
  12. django模板_Django模板
  13. oralce insert 时,出现的两个错误,以及解决方法
  14. java贪吃蛇源代码_java贪吃蛇源代码详解
  15. scjp第一章学习总结
  16. 智能交通——车辆属性识别
  17. VMware 菜鸟教程
  18. 头孢一代比一代强吗?
  19. 开机自检(POST)
  20. 《二》STM32时钟使能及应用总结

热门文章

  1. 苹果cms10好看的模板_电脑手机自适应超简洁模板
  2. 机器学习中的性能指标:精度、召回率,PR曲线,ROC曲线和AUC,及示例代码
  3. python的serial读取异常,编码异常
  4. Linux环境常用工具
  5. java抓取并保存图片_【初学】java爬虫并抓取图片保存
  6. 百度与环保部启动生物多样性保护项目:搜索贴吧糯米等联动
  7. CSS3实现渐变文字的三种方案
  8. 刚刚发现在博客园的博客排行榜[前200人]中我的blog竟然排在第47位
  9. 梅科尔工作室-张敏-鸿蒙笔记4
  10. C语言抽象类声明方法,C# abstract:声明抽象类或抽象方法