UML类图__设计模式

一、简介

        统一建模语言(UML,Unified Modeling Language)是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。UML本身是一套符号的规定,这些符号用于描述软件模型中的各个元素和他们之间的关系,比如类、接口、实现、泛化、依赖、组合、聚合等。UML是一种用来建模的语言,跟传统的编程语言不一样。它用一些符号来描述设计思想,是用于软件系统分析和设计的语言工具,图形描述帮助我们进行思考和记录思考的结果,以及软件系统设计和分析理解。

常用的建模工具:https://www.processon.com

二、基本图示法

1.类

在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示:

在这里插入图片描述
类的作用域:

  1. + : 表示 public
  2. - : 表示 private
  3. # : 表示 protected

属性的完整性描述:

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

例如,

- num:int

方法的完整性描述:

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

例如,

+ fun(int a,int b) : int

注意: 中括号内的内容是可选的

2.接口

在UML中,接口有两种表示方式:

  • 普通接口表示法(飞翔);
  • 棒棒糖表示法(讲人话),使用一个带有名称的小圆圈来表示,在旁边写上相应接口名称,没有具体接口方法。

接口名称通常以大写字母 I 开头

普通接口表示法:
在这里插入图片描述
**注意:**要在接口名上方添加<<interface>>,且一般接口名以大写的 I作为开头。

棒棒糖表示法:

在这里插入图片描述

3.关系

依赖关系

只要是在类中用到了对方,那么他们之间就存在依赖关系。

类中用到了对方的情况:

  • 如果是类的成员属性
  • 如果是方法的返回类型
  • 是方法接收的参数类型
  • 方法中使用到

如果A类用到了B类 ,则A依赖于B,即需要用虚线箭头从A指向B,例如

在这里插入图片描述

关联关系

关联关系实际上就是类与类之间的联系,是依赖关系的特例。使用实线箭头来描述。

关系具有多重性:

  • “1”(表示有且仅有一个),
  • “0…”(表示0个或者多个),
  • “0,1”(表示0个或者1个),
  • “n…m”(表示n到 m个都可以),
  • “m…*”(表示至少m 个)。

关联具有导航性:
即双向关系或单向关系

例如,
单向
一个人一个身份证号 一对一单向的
在这里插入图片描述

双向
一个人对应一个身份证号 一对一
一个身份证号也对应一个人
在这里插入图片描述

继承关系

继承关系大家不会陌生,之前肯定在类中学习过。继承关系也称泛化关系,是依赖关系的特例。 A类继承了B类也相当于A类用到了B类。
使用空心三角形+实线,例如:
在这里插入图片描述

实现关系

实现关系实际上就是A类实现B接口,是依赖关系的特例,依赖关系更强。
使用空心三角形+虚线表示,例如:
在这里插入图片描述

聚合关系

聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。使用带空心菱形的实线,菱形指向整体来表示。

导航性:
谁聚合谁? A聚合到B:

多重性:
B聚合一个A——单聚合
B里面可以聚合多个A——多重聚合

例如:
在这里插入图片描述

组合关系

组合关系也是整体与部分的关系,但是整体与部分不可以分开。使用实心菱形+实线来表示。

案例:
定义类:Person、IDCard与Head, 那么
Head 和Person 是 组合——人不能没有头。
IDCard 和 Person 是聚合——一个人可以没有身份证,去补办身份证就行。

在这里插入图片描述

4.注释

注释使用右上角的带三角折痕的矩形加虚线来表示注释。

在这里插入图片描述

如果篇文章对你有帮助,动动你的小手点个赞吧!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值