UML类图的简单小结

UML中的简介

UML中主要是用于描述类与类之间的关系。在从整体浏览项目的时候,往往会通过相应的流程图来了解该项目的相关业务流程;而具体的对应类我们可以通过UML类图去看到每个类中对应的关系。
例如下图中的是状态模式相关的UML类图:
在这里插入图片描述

传统UML类图的标识

简单了解了一下UML和看过对应类图后,我们来简单看看相应的标识(通用表示)。

  • 整体概览

    • 第一矩形:类名
    • 第二矩形:属性名
    • 第三矩形:方法名
    • 图例
      在这里插入图片描述
  • 权限相关

    • private私有权限:-
    • public最大权限:+
    • default默认:#
    • protect子类可继承: ~
  • 类的区分

    • 抽象类:斜体标识
    • 普通类:正常
    • 接口:类名前<>
  • 类与类直接关系

    • 依赖:虚线;箭头指向被依赖的类
    • 泛化(继承):实线,实心箭头;箭头指向父类(因为你要对父类了解才继承)
    • 实现:虚线,空心箭头;箭头指向接口类(实现也可以用棒棒糖表示法)
    • 关联关系:实线;箭头指向被关联的类;关联关系会在两端出现数字,表示数量对应关系
    • 聚合:实线,空心菱形;菱形指向整体,三角指向部分
    • 合成(组合):实线,实心菱形;菱形指向整体,三角指向部分
  • 数据类型

    • 成员属性的类型和成员方法返回的类型都在其对应的名称后

UML中的关系

UML中表示类与类之间的关系有依赖、泛化、实现、关联、组合、聚合。但是,泛化,实现,关联都可以概述成依赖;而聚合和组合又是关联关系的一种特例;所以所有的关系都可以说是依赖

依赖

一般来说,依赖是指该类中的方法的参数类型,返回值类型为另一个类对象;或者在该类中使用了其他类,具体如下:

  • A类使用了B类:
    • B类作为A类的成员属性类型
    • B类作为A类的方法入参类型
    • B类作为A类方法的返回值类型

但是,我们在看许多的类图中。主要还是以方法的入参类型来说明依赖关系。

在这里插入图片描述

泛化(继承)

泛化关系其实就是是继承关系,既子类继承父类
在这里插入图片描述

实现

普通类对于接口类的实现,以达到规范,增强普通类的作用。实现可以用普通表示法棒棒糖表示法

普通表示法:
在这里插入图片描述

棒棒糖表示法:
在这里插入图片描述

关联

表示两个类的关联关系,通过成员方法即可看出有无此关系。而关联关系会有对应的数量级关联,例如一对一,一对多等(比如,一只大雁有两只翅膀,一只大雁只有一个嘴巴)。关联关系比较“抽象”,凡事有两个类有关联都可以用关联关系;但是具体强弱关联,要看是组合还是聚合

在这里插入图片描述

组合

关联关系的一种,用于表示整体与部分之间的关系,属于强关联。换而言之,A类的生命周期与B类的生命周期相同,既A类消亡后B类也会消亡。所以,在成员属性中,声明该类就直接创建了该类

在这里插入图片描述

聚合

关联关系的一种,也是用于表示整体与部分之间的关系,属于弱关联

既双方的生命周期各不相同,可以根据需求初始化或不初始化。
在这里插入图片描述

IDEA中的类图

IDEA可通过如下步骤对类图进行查看:

在这里插入图片描述

在这里插入图片描述

并且,IDEA也提供了较为友好的区分。

  • 对于继承使用了蓝色实线、实现使用绿色虚线
    在这里插入图片描述
    在这里插入图片描述

  • 特别为构造方法准备一个矩形
    在这里插入图片描述

  • 权限控制采用图标:
    在这里插入图片描述

在这里插入图片描述

  • 成员属性方法状态(final、static)在最左侧原型上下。
    在这里插入图片描述
    在这里插入图片描述

小结

本文图片来自《大话设计模式》;这本书对于入门来说比较友好,很浅显易懂。但是应该是本入门级的书,比如代理模式就没有进行细分静态代理、动态代理。但是以生活中常见的案例来说明设计模式,能让大家能更好的理解相应模式的作用。

另外对于时序图的绘制,可以使用startUML或者下载IDEA插件startUML可以进行拖拽式绘制,不需要考虑其他的语法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值