UML 类图学习笔记

作者: 酸甜小黄瓜 | 来源:发表于2017-09-05 17:15 被阅读205次

平时看代码时,特别是复杂的 app 类和类之间的关系错综复杂,想要理清楚他们之间的关系,往往是非常烧脑的。不过通过
使用 UML 图就可以达到事半功倍的效果。

UML 图

在 UML 图中,使用一个矩形加两根横线表示一个类。如下图所示

图1: UML 图
  • 第一行: 类名
  • 第二行: 属性
  • 第三行: 方法
  • + : public
  • - : private
  • # : protected

类的属性表示

格式:可见性 名称 :类型 [ = 缺省值]

java : public int startIndex = -1

UML  : + startIndex :int  =-1  

类的方法表示

格式:可见性 名称(参数列表) [ : 返回类型]

栗子 无参数:
    java : public void action ()
    UML  : + action()  :void
    
栗子 有参数:
    java : public void action1 (String params)
    UML  : + action1(String params)  :void
    

类之间的关系

关联关系

  1. 单向关联

单向关联用一个带箭头的直线表示,表示每个教室都有学生

图2 :单向关联
  1. 双向关联

双向关联就是双方各自持有对方类型的成员变量。在UML类图中,双向关联用一个不带箭头的直线表示。

图3 :双向关联
  1. 自关联

自关联在UML类图中用一个带有箭头且指向自身的直线表示。上图的意思就是Node类包含类型为Node的成员变量,也就是“自己包含自己”。

图4 :自关联

聚合关系

图5:聚合关系

上图中的Car类与Engine类就是聚合关系(Car类中包含一个Engine类型的成员变量)。由上图我们可以看到,UML中聚合关系用带空心菱形和箭头的直线表示。聚合关系强调是“整体”包含“部分”,但是“部分”可以脱离“整体”而单独存在。比如上图中汽车包含了发动机,而发动机脱离了汽车也能单独存在。

组合关系

图6:组合关系

组合关系与聚合关系见得最大不同在于:这里的“部分”脱离了“整体”便不复存在。显然眼睛不能脱离人类而存在。

依赖关系

图7:依赖关系

在UML类图中,依赖关系用一条带有箭头的虚线表示。

继承关系

图8:继承关系

继承关系对应的是extend关键字,在UML类图中用带空心三角形的直线表示。

接口关系

图9:接口关系

这种关系对应implement关键字,在UML类图中用带空心三角形的虚线表示。

到这里我们就能基本看懂和绘制 UML 图啦。

欢迎移步到小弟的 Blog,有更多意想不到的干货哦!

相关文章

  • [一]UML入门

    类图 二 UML类图讲解 三 UML类图讲解-自上而下 四 UML类图讲解-对比讲解

  • UML 类图学习笔记

    平时看代码时,特别是复杂的 app 类和类之间的关系错综复杂,想要理清楚他们之间的关系,往往是非常烧脑的。不过通过...

  • UML类图学习笔记

    1、什么是UML类图? 在使用高级语言编程时,无疑会遇到面向对象编程这一回事。而面向对象编程又无疑会涉及到【方...

  • 2017下半年技术目标

    学习UML类图 学习设计模式(java实现)

  • 关于IDEA看源码的一些操作补充

    作者学习阅读源码使用的方式 以及步骤查看类与类的UML关系图生成UML图Uml图类型 查看该接口的所有实现imag...

  • 设计模式

    设计模式笔记 学会读图 UML我要看懂图UML类图 时序图在线绘制在线绘制时序图工具集合 Builder模式 bu...

  • JavaScript面向对象之UML类图

    UML类图 什么是UML类图 UML(Unified Modeling Language)类图,中文意思为“统一建...

  • C++线下测试回顾

    题目地址 有同学说不知道怎么画内存模型图,我这里附几个教程UML类图小结UML类图与类的关系详解类似的教程笔记网上...

  • UML类图

    UML类图帮助我们标明类之间的关系,而在学习UML类图之前,得先理清类与类之间的关系。类的关系有泛化(Genera...

  • uml笔记-类图

    1.泛化 泛化是继承关系的一种,子类继承父类的所有行为和属性,子类可以新增新的功能或者重写父类功能。uml中使用带...

网友评论

    本文标题:UML 类图学习笔记

    本文链接:https://www.haomeiwen.com/subject/mbfpjxtx.html