在UML类图中,类之间的关系可以分成:关联(association)、聚合(aggregation)、组合(composition)、依赖(dependency)、泛化(generalization)/继承(inheritance)和实现(realization)。这六种关系如下图所描绘:

通俗来讲:

关联(Association):A类有B类有逻辑上的连接
聚合(Aggregation ): A类有一个B类
组合(Composition): A类拥有一个B类
依赖(Dependency): A类使用了B类
继承(Inheritance): B类是一个A类的子类 (或者B类扩展A类)
实现(Realization): B类实现了接口A

关联

举例来讲就是:学生与老师,课程之间有逻辑关系;

聚合

一个班有多个学生是,班级没了不影响学生这个个体的存在;

组合

包含关系,一个人有很多器官,比如程序员的头发,程序员负责头发的创建以及生命周期,当程序员火化(对象被销毁)时头发也随之销毁;

依赖

一个类的引用用作另一个类的方法的参数,举例来说就是牛产奶行为(方法) 吃草挤奶,有入参(草),出参是奶,两个对象,草,奶都被牛对象所依赖;

继承

子类包含父类,子类可以重写父类的方法,(java可以多重继承,不能多继承)如下图:

实现

一个类实现了接口(可以是多个)。举例来讲就是,父亲经常吹牛,说自己有八块腹肌,但是没毅力锻炼,(抽象方法)儿子继承了这个想法,从小就坚持锻炼,成功拥有了八块腹肌(抽象方法的实现);

UML(统一建模语言)类图的六大关系相关推荐

  1. UML(Unified Modeling Language)统一建模语言--类图详解

    UML(Unified Modeling Language)统一建模语言--类图详解   2010-05-12 作者:fenglin1985 来源:fenglin1985的blog   类图是面向对象 ...

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

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

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

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

  4. 3.UML中的类图及类图之间的关系

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  5. java uml图中的关系_UML类图中的关系

    UML类图中的关系分为四种:泛化.依赖.关联.实现:关联关系又可以细化为聚合和组合. 1. 泛化(Generalization) 泛化是父类和子类之间的关系,子类继承父类的所有结构和行为.在子类中可以 ...

  6. UML 之 C++类图关系全面剖析

    UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联: C1 ...

  7. 4、UML类图及类图之间的关系

    在 UML 2.0 的 13 种图中,类图(Class Diagrams)是使用频率最高的 UML 图之一.类图描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在正确编写代码之前对系统有一个 ...

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

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

  9. UML统一建模语言知识体系概述

    UML统一建模语言知识体系概述 http://developer.51cto.com/  2006-01-11 16:46    noahsports.com  我要评论(3 ) UML是一种定义良好 ...

最新文章

  1. 《系统分析与设计方法》 第8章 数据建模
  2. java 函数内部类_java 内部类详解 转
  3. 各类常见的网站检查工具
  4. C++模板基本概念及语法
  5. 浅谈MD5加密算法中的加盐值(SALT)
  6. 常青:小程序音视频能力再升级
  7. CF924D. Contact ATC
  8. Android必学之数据适配器BaseAdapter
  9. 游戏迷英雄联盟游戏高清壁纸!扮演你的英雄
  10. Hololens2的调试与安装
  11. Windows API函数大全(Windows编程参考手册)
  12. php时间戳转换英文格式日期_php中时间戳和日期格式的转换
  13. Matlab 画图控制速度,matlab常用画图操作
  14. 大数据和人工智能属于什么专业 - 学大数据和人工智能出来做什么
  15. Word替换特殊字符
  16. 局域网稳定性测试软件,局域网速度测试
  17. 政府转型迎来大数据时代 打破部门“信息孤岛”
  18. 基于swiftype应用于Hexo-Yilia-主题的站内搜索引擎
  19. 浅谈5G网络及其应用
  20. 【数据结构】算法的时间复杂度和空间复杂度解析

热门文章

  1. PoS Tagging代码学习与应用
  2. mysql 二进制 最大长度_mysql 二进制日志后缀数字最大为多少
  3. 传奇私服商店物品混乱,什么都卖,问题的解决
  4. crontab 问号_crontab详解
  5. Thymeleaf简单分页
  6. RHCSA笔记 - 安装虚拟机、安装rhel系统、连接Xshell
  7. matlab appcoef函数,matlab小波去噪函数实例
  8. Error C2280
  9. 程序员如何赚点小钱?
  10. linux上如何使用卓懿玩金铲铲七赏金吃鸡?