30秒学会UML-功能类图

news2024/9/23 15:20:50

目录

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

聚合关系

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1929860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PX4 运行 make px4_sitl_default gazebo 报错

报错原因&#xff1a;最开始我把依赖一直都是在base环境下安装的&#xff0c;没有conda deactivate&#xff0c;而pip install的东西应该装在系统环境&#xff0c;不能装在base环境下&#xff0c;sudo apt 是装在系统环境的 1.检查ros 用鱼香ros安装 wget http://fishros.…

SSL证书续费

讲解下域名证书如何续费&#xff08;以阿里云为例&#xff09; ‍ 提醒 一般云服务器厂商&#xff0c;都会提前和你一个月左右通知&#xff08;邮件、短信等&#xff09;&#xff0c;例如&#xff1a; 尊敬的 xxx&#xff1a;您域名 www.peterjxl.com 使用的 SSL 证书 xxxxx…

Linux编程(通信协议---udp)

UDP&#xff08;用户数据报协议&#xff09;是一种无连接的网络协议&#xff0c;主要用于快速传输数据。以下是UDP协议的一些主要特点&#xff1a; 1. **无连接**&#xff1a;UDP是无连接的协议&#xff0c;这意味着在数据传输之前不需要建立连接。每个UDP数据包都是独立的&am…

数据库操作太复杂?Python Shelve模块让你轻松存储,一键搞定!

目录 1、基本操作入门 &#x1f4da; 1.1 安装Shelve模块 1.2 创建与打开Shelve文件 2、存储与读取数据 &#x1f510; 2.1 写入键值对 2.2 读取存储的数据 3、高级功能探索 &#x1f9ed; 3.1 使用Shelve迭代键和值 3.2 键的管理&#xff1a;添加、删除与更新 4、异…

minishell

今天完成了minishell的制作 项目需求&#xff1a; 1. 获取终端用户输入的命令&#xff0c;并输出相应的执行结果。 touch cp mv ls ls -a ls -l mkdir rmdir pwd cd ln ln -s exit ---------…

鸿蒙开发HarmonyOS NEXT (四) 熟悉ArkTs (下)

一、动画 1、属性动画 animation,可以通过配置动画时间duration等参数&#xff0c;实现移动时的平滑过度 写了个小鱼游动的小案例 Entry Component struct ActionPage {State fish: Resource $r(app.media.fish_right) //小鱼图片State fishX: number 200 //初始化小鱼横坐…

Day07-员工管理-上传下载

1.员工管理-导出excel 导出员工接口返回的是二进制axios配置responseType为blob接收二进制流文件为Blob格式按装file-saver包&#xff0c;实现下载Blob文件npm install add file-saver导出员工excel的接口 (src/api/employee.js) export function exportEmployee(){return req…

【区块链 + 智慧政务】涉税行政事业性收费“e 链通”项目 | FISCO BCOS应用案例

国内很多城市目前划转至税务部门征收的非税收入项目已达 17 项&#xff0c;其征管方式为行政主管部门核定后交由税务 部门征收。涉税行政事业性收费受限于传统的管理模式&#xff0c;缴费人、业务主管部门、税务部门、财政部门四方处于 相对孤立的状态&#xff0c;信息的传递靠…

【Diffusion学习】【生成式AI】Diffusion Model 原理剖析 (2/4) (optional)【公式推导】

文章目录 影像生成模型本质上的共同目标【拟合分布】Maximum Likelihood Estimation VAE 影像生成模型本质上的共同目标【拟合分布】 Maximum Likelihood Estimation VAE

图片服务器是什么?常见的图片服务器是哪几种?图片服务器的要求是什么?

什么是图片服务器 图片服务器&#xff0c;顾名思义就是专门用于处理图片的服务器&#xff0c;向外提供图片的上传&#xff0c;下载&#xff0c;图片展示等服务 为什么我们要使用专门的服务器处理图片 图片的数据量比文字展示高得多&#xff0c;图片的上传下载展示一系列操作…

Linux进程——进程优先级与僵尸进程孤儿进程

文章目录 僵尸进程变成僵尸状态的过程 孤儿进程进程优先级如何修改进程优先级为什么优先级有范围 僵尸进程 僵尸状态进程本质上就是死亡状态 在进程死亡之后&#xff0c;不会直接对进程进行释放&#xff0c;而是先会处理一些后事 进程在结束退出的时候&#xff0c;也会有一些…

介绍 Elasticsearch 中的 Learning to Tank - 学习排名

作者&#xff1a;来自 Elastic Aurlien Foucret 从 Elasticsearch 8.13 开始&#xff0c;我们提供了原生集成到 Elasticsearch 中的学习排名 (learning to rank - LTR) 实现。LTR 使用经过训练的机器学习 (ML) 模型为你的搜索引擎构建排名功能。通常&#xff0c;该模型用作第二…

CSA笔记1-基础知识和目录管理命令

[litonglocalhost ~]$ 是终端提示符&#xff0c;类似于Windows下的cmd的命令行 litong 当前系统登录的用户名 分隔符 localhost 当前机器名称&#xff0c;本地主机 ~ 当前用户的家目录 $ 表示当前用户为普通用户若为#则表示当前用户为超级管理员 su root 切换root权限…

我利用ChatGPT开发了一个网盘资源搜索神器APP

首先声明,本文不是买东西,仅分享个人利用ChatGPT开发项目的个人经验分享。 之前已经开发完Web端网盘资源搜索引擎,而在安卓平台使用浏览器访问总是有点不方便,于是考虑开发一个安卓端APP。 可是,自己并没有开发APP经验,那怎么办? 都说AI可以帮你搞定一切,那就用一用…

python项目读取oracle数据库方法(cx_Oracle库实现)

目录 创建一个python项目&#xff0c;并配置运行环境 查看oracle对应数据库版本&#xff08;该标题下内容只是为了查看版本&#xff0c;不用在意&#xff09; 从oracle官网下载对应版本的oracle客户端 解压下载的压缩包&#xff0c;并获取依赖 将依赖文件导入python项目运…

Perl之正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式&#xff0c;可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。   Perl语言的正则表达式功能非常强大&#xff0c;基本上是常用语言中最强大的&#xff0c;很多语言…

论 Suspense 组件在 Vue 3 中的重要性

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 你是否曾经遇到过在加载大量数据时,界面卡顿或是空白的问题? 如果你正在开发一个复杂的前端项目,那么一定需要处理很多异步数据请求。而异步请求太多就会导致用户看到空白屏幕时间变长,这对用户体验非常不友好。🤔 在…

【C++】C++11的新特性 --- 列表初始化,auto关键字,decltype关键字

人的理想与成就之间有一段距离 只有靠他的热情才能跨越。 -- 纪伯伦 C11特性 1 C 11介绍2 列表初始化3 声明3.1 auto关键字3.2 decltype关键字3.3 nullptr3.4 总结 4 STL中的新容器4.1 array4.2 forward_list4.3 unordered系列 Thanks♪(&#xff65;ω&#xff65;)&#x…

springboot项目 导入 maven坐标 错误 Could not transfer artifact XXX

1.报错原因 当时导入的是 redis坐标 &#xff0c;导入jar 包报错&#xff08;当时是网速太慢了&#xff0c;一直卡着不动 就关了 idea 重新下载&#xff09;结果报错 之前的redis 项目都可以的&#xff0c;网上找了一下 都没解决 2.解决办法 既然说不能传输&#xff0c; 就说…

玩转HarmonyOS NEXT之AppStorage应用全局UI状态存储

概述 AppStorage是应用全局的UI状态存储&#xff0c;是和应用的进程绑定的&#xff0c;由UI框架在应用程序启动时创建&#xff0c;为应用程序UI状态属性提供中央存储。 AppStorage是在应用启动的时候会被创建的单例。它的目的是为了提供应用状态数据的中心存储&#xff0c;这…