30秒学会UML-功能类图

目录

1、类图本体

三部分

修饰符

2、类与类直接关系

泛化关系

实现关系

简单关联关系

依赖关系

组合关系

聚合关系


1、类图本体

三部分

  • 第一层:类名
  • 第二层:成员变量(类的属性)
  • 第三层:函数方法(类的相关操作)

修饰符

  • - : private
  • +: public
  • ~: default
  • #: protect
  • 下划线:static
  • << 类名 >>: 接口
  • 类名为斜体:抽象类

2、类与类直接关系

泛化关系

childA和B是继承于对象类Parent

语法:空心三角+实线,指向父类

实现关系

对象类SU7继承抽象类Vehicle,实现Car接口

语法:空心三角+虚线;箭头指向抽象类,接口

简单关联关系

Penguin类中存在Climate类成员变量

语法:实线+简单箭头,指向成员变量类


依赖关系

代码解释

class iPhone{
    fun work(computer:Computer){
         val smartPhone = SmartPhone()
         smartPhone.call()
         computer.install()
         Online.getOnline()
 }
}
  • SmartPhone作为局部变量
  • Computer作为方法的形式参数
  • 静态方法的调用(kotlin伴生类中方法,会随类加载)

语法:虚线+简单箭头,指向局部变量、形式参数、静态方法调用对应的类

组合关系

代码解释

class Bird {
    private lateinit val mWing:Wing 
    fun newFly(wing:Wing){
        mWing = wing
        mWing.fly()
  }
}
  • 强依赖,Bird主体消失,强引用Wing必须同时或提前消失
  • 单个对象关联,只有mWing一个成员变量作为关联Wing

聚合关系

  • 弱依赖,因为一个集合都是该依赖对象,多一个少一个无所谓
  • 一个集合都是关联的对象

相关推荐

  1. uml基础-

    2024-07-18 10:24:01       49 阅读
  2. <span style='color:red;'>UML</span><span style='color:red;'>类</span><span style='color:red;'>图</span>

    UML

    2024-07-18 10:24:01      47 阅读
  3. <span style='color:red;'>UML</span><span style='color:red;'>类</span><span style='color:red;'>图</span>

    UML

    2024-07-18 10:24:01      32 阅读
  4. <span style='color:red;'>UML</span><span style='color:red;'>类</span><span style='color:red;'>图</span>

    UML

    2024-07-18 10:24:01      24 阅读

最近更新

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

    2024-07-18 10:24:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 10:24:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 10:24:01       57 阅读
  4. Python语言-面向对象

    2024-07-18 10:24:01       68 阅读

热门阅读

  1. 算法工程师面试题一

    2024-07-18 10:24:01       24 阅读
  2. STM32开发手册(1)

    2024-07-18 10:24:01       20 阅读
  3. django 接口文档自动生成

    2024-07-18 10:24:01       20 阅读
  4. Django 中设置联合约束和联合索引

    2024-07-18 10:24:01       19 阅读
  5. VUE3监听Pinia.store中的数据

    2024-07-18 10:24:01       22 阅读
  6. MySQL源码安装

    2024-07-18 10:24:01       24 阅读
  7. 代码随想录学习 54day 图论 from代码随想录

    2024-07-18 10:24:01       21 阅读
  8. 前端js实现把网页导出为pdf

    2024-07-18 10:24:01       25 阅读
  9. 总部下达任务时,如何保证员工的执行力?

    2024-07-18 10:24:01       19 阅读
  10. 进行版本控制如何创建和合并分支

    2024-07-18 10:24:01       24 阅读
  11. mybatis使用oracle进行添加数据的心得

    2024-07-18 10:24:01       21 阅读