在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

1. 泛化(Generalization)

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

2. 实现(Realization)

    【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现.【箭头指向】:带三角箭头的虚线,箭头指向接口

3. 关联(Association)

    【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。【代码体现】:成员变量【箭头及指向】:带普通箭头的实心线,指向被拥有者

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

4. 聚合(Aggregation)

    【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。【代码体现】:成员变量【箭头及指向】:带空心菱形的实心线,菱形指向整体

5. 组合(Composition)

    【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。

【代码体现】:成员变量

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

6. 依赖(Dependency)

    【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.【代码表现】:局部变量、方法的参数或者对静态方法的调用【箭头及指向】:带箭头的虚线,指向被使用者

各种关系的强弱顺序:

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

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

转载于:https://www.cnblogs.com/jiqing9006/p/5895446.html

UML类图几种关系的总结,泛化 = 实现 组合 聚合 关联 依赖相关推荐

  1. UML 类图几种关系的总结

    在 UML 类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Compositi ...

  2. 【UML建模】UML类图几种关系的总结

    转自:http://kb.cnblogs.com/page/129490/ 在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(As ...

  3. UML类图几种关系的总结

    在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Compositi ...

  4. UML类图五种关系与代码的对应关系

    UML类图中的五种关系的耦合强弱比较:依赖<关联<聚合<组合<继承 一.依赖关系: (一)说明 虚线+箭头 可描述为:Uses a 依赖是类的五种关系中耦合最小的一种关系. 因 ...

  5. 极简设计模式 - UML类图几种线条

    文章目录 前言 1.组合 2.聚合 3.关联 3.1单向关联 3.2双向关联 3.3自关联 4.依赖 5.实现 6.继承(泛化) 总结 参考 前言 设计模式系列目录 中间先夹一篇类图的基本点吧,与人方 ...

  6. [UML] 类图之间的关系 | 1.关联关系

    [UML] 类图之间的关系 | 1.关联关系 1.关联关系 关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系 在UML类图中, ...

  7. 通过简单例子 | 快速理清 UML类图中六大关系

    类与类之间的六大关系 泛化 ( Generalization ) -> 表继承关系 实现 ( Realization ) 关联 ( Association ) 聚合 ( Aggregation ...

  8. Java之UML类图的六种关系

    UML类图 UML图概念 UML--Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果. ...

  9. UML类图符号 各种关系说明以及举例

    UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalizati ...

最新文章

  1. hdu2363 枚举最短路
  2. 爬虫案例:利用python爬虫关键词批量下载高清大图
  3. 7-47 对称排序 (25 分)
  4. python生成词云图个人技术报告_【Python成长之路】词云图制作
  5. MATLAB信号处理之信号的积分和微分
  6. Java邮件服务学习之一:邮件服务概述
  7. Composite UI Application Block(CAB)
  8. 使用ocupload和POI一键上传Excel并解析导入数据库
  9. 如何养成周回顾习惯的回复
  10. 真3D麻将游戏桌面适配任意分辨率
  11. 几种常用的数据校验(异常检测)总结(3σ、肖维勒准则、狄克逊准则、格拉布斯准则、皮尔士准则、卡方检验、T检验等等)
  12. 国内IT界女神程序员!和她们一样漂亮的还有谁?
  13. 流媒体传输协议(rtp/rtcp/rtsp/rtmp/mms/hls)
  14. 手写vue3源码——reactive, effect ,scheduler, stop 等
  15. w ndows无法完成格式化,windows无法完成格式化,小编教你解决windows无法完成格式化U盘...
  16. HDU6069 欧拉筛法+约数定理+计算技巧。
  17. 积小胜为大胜 投资大师教你三种有效的投资方法
  18. 计算梯度的三种方法: 数值法,解析法,反向传播法
  19. python3 的 md5加密
  20. arduino测试ArduinoModbus库例程

热门文章

  1. OpenGL基础13:第一个正方体
  2. LuaForUnity1:Lua介绍与使用
  3. 无根树的同构:Hash最小表示法(bzoj 4337: BJOI2015 树的同构)
  4. python学习之文件处理
  5. 绘制图像直方图 matplotlib
  6. python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器
  7. Echarts数据可视化toolbox工具框,开发全解+完美注释
  8. ajax只请求一次,关于ajax的请求只处理一次的问题
  9. Day 4 列表,元组,range
  10. 5817. 【NOIP提高A组模拟2018.8.15】 抄代码