UML类图

UML类图

UML在国内一般充当文档使用(虽然可以直接生成代码),以下记录下基本的类图画法。

对象图

对象图描述的是参与交互的各个对象在交互过程中某个时刻的状态。对象图可以被看作是类图在某一时刻的实例。具体画法如下图:
在这里插入图片描述

类之间的关系

类直接的关系有: 依赖关系、泛化关系、关联关系和实现关系。

依赖关系

依赖关系(Dependency)表示两个或多个模型元素之间语义上的关系。它表示这样一种情形,对于一个元素的某些改变可能会影响或提供消息给其他元素,即使用者以某种形式依赖其他类元。画法如下图:
在这里插入图片描述依赖关系又分为: 使用依赖、抽象依赖、授权依赖和绑定依赖。

使用依赖

使用依赖表示使用服务提供者所提供的服务实现它的行为。具体说明如下图:
在这里插入图片描述

抽象依赖

抽象依赖建模表示使用者和提供之间的关系,分为: 跟踪依赖(trace)、精化依赖(refine)和派生依赖(derive). 如下图:
在这里插入图片描述在这里插入图片描述

授权依赖

在这里插入图片描述

绑定依赖

在这里插入图片描述

泛化关系

泛化关系(Generalization)是一种存在于一般元素和特殊元素之间的分类关系,它只用于类型,而不用于实例,即父子类中。画法如下:
在这里插入图片描述

关联关系

关联关系(Association)是一种结构关系,它指明一个事物的对象与另一个事物的对象之间的联系。也就是说,关联描述了系统中对象或实例之间的离散连接。画法如下:
在这里插入图片描述

聚合

聚合(Aggregation)是表示整体和部分关系的关联,描述了has-a的关系。聚合是一种特殊的关联关系, 画法如下:
在这里插入图片描述

组合

组合关系(Composition)是聚合关系中的一种特殊情况,是更强形式的聚合,又称为强聚合。在组合中,成员对象的生命周期取决于聚合的生命周期,聚合不仅控制成员对象的行为,而且还控制成员对象的创建和销毁。画法如下:
在这里插入图片描述

导航

导航(Navigation)性描述的是一个对象通过链(关联的实例)进行导航可以访问另一个对象。导航性可以分两类: 单向关联和双向关联。 画法如下:
在这里插入图片描述

关联类

在两个类之间的关联中,关联本身可以有特征。即关联和类一样,也可以有自己的属性和操作,此时这个关联实际就是一个关联类。画法如下:
在这里插入图片描述

相关推荐

  1. uml基础-

    2024-01-16 18:50:05       52 阅读
  2. <span style='color:red;'>UML</span><span style='color:red;'>类</span><span style='color:red;'>图</span>

    UML

    2024-01-16 18:50:05      52 阅读
  3. <span style='color:red;'>UML</span><span style='color:red;'>类</span><span style='color:red;'>图</span>

    UML

    2024-01-16 18:50:05      35 阅读
  4. <span style='color:red;'>UML</span><span style='color:red;'>类</span><span style='color:red;'>图</span>

    UML

    2024-01-16 18:50:05      26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 18:50:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 18:50:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 18:50:05       82 阅读
  4. Python语言-面向对象

    2024-01-16 18:50:05       91 阅读

热门阅读

  1. 前端笔试题(一)

    2024-01-16 18:50:05       53 阅读
  2. Hudi0.14.0最新编译(修订版)

    2024-01-16 18:50:05       45 阅读
  3. MySQL常见面试题汇总

    2024-01-16 18:50:05       49 阅读
  4. MySQL深入——12

    2024-01-16 18:50:05       48 阅读
  5. 说一下mysql的锁

    2024-01-16 18:50:05       52 阅读
  6. 红警2AI的艺♂术

    2024-01-16 18:50:05       39 阅读
  7. 关于Spring Bean容器的理解

    2024-01-16 18:50:05       55 阅读
  8. 力扣:242. 有效的字母异位词

    2024-01-16 18:50:05       59 阅读
  9. Linux命令行系列:Netcat网络工具

    2024-01-16 18:50:05       52 阅读
  10. 【力扣每日一题】力扣2182构造限制重复的字符串

    2024-01-16 18:50:05       65 阅读