UML的简单记录

114 阅读2分钟

UML图

UML的基础知识,属于整合他人的小文章了,记录下自己回头看。如有纰漏,请多指教。

具体类、抽象、接口和包

具体类

第一层是类名字。第二层是类的成员变量;第三层是类的方法。

  • “+”表示 public
  • “-”表示 private
  • “#”表示 protected
  • 不带符号表示 default

image-20230527164814268.png

抽象类

抽象类的类名以及抽象方法的名字都用斜体字表示。

image-20230527164920086.png

接口

带一个<<interface>>

image-20230527164956634.png

image-20230527165009684.png

各种关系

image-20230527165107919.png

实现关系

类实现接口,类与接口之间的关系。虚线+空心箭头

image-20230527165155177.png

泛化关系

对象之间的继承关系,**子类指向父类。**实线+空心箭头

image-20230527165253161.png

关联关系

一个对象知道另一个对象的属性和方法,即一个对象包含另一个对象的引用。包含对象指向被包含对象。实线+箭头,双向关联就不用加箭头。

image-20230527165533726.png

通过放置多重性(multipicity)表达式在关联线的末端来表示。多重性表达式可以是一个数字、一段范围或者是它们的组合。多重性允许的表达式示例如下:

  • 数字:精确的数量
  • *或者0..*:表示0到多个
  • 0..1:表示0或者1个,在Java中经常用一个空引用来实现
  • 1..*:表示1到多个

关联关系又分为依赖关联、聚合关联和组合关联三种类型。

依赖关系

use 的关系,对象A用到了对象B,比如类A的方法的形参是类B,这就是use。虚线+箭头

image-20230527171418055.png

聚合关系

has的关系,体现整体和部分的拥有关系。聚合关系是可分离的,即去掉某些部分,整体依然成立。空心菱形+箭头,整体指向部分

image-20230527171646199.png

组合关系

contains的关系,体现整体和部分的包含关系。组合关系不可分离,即这些部分组成了整体,少一个的话,整体不成立。实心菱形+箭头。

image-20230527171739883.png

参考:

zhuanlan.zhihu.com/p/109655171

cloud.tencent.com/developer/a…