UML图绘制 -- 类图
1.类图的画法
类
整体是个矩形,第一层类名,第二层属性,第三层方法。
- + :public
- - : private
- # : protected
- 空格: 默认的default

对应的类写法。
public class Student {public String name;public Integer age;protected Integer cardId;Integer mark;public void setName(String name) {this.name = name;}public String getName() {return name;}
}
抽象类
对比类,就是第1层类名和第3层 方法名用斜体表示。

接口
顶层多了<<interface>>字段,其余好像没啥区别了。

包
里面就是对应包的名字。

对应java写法。
package com.zgxt.demo.domain;public class Student {}
2.类图的关系
如果说,类图为了表现java中的类、接口等属性方法,那么类图的关系就代表java中中类、接口之间的关系。

泛化关系
泛化就是Java中的继承。
![]()
表示图形:实线 + 空心三角

对应的类关系图。

实现关系
实现就是java中的实现。

表示图形:虚线 + 空心三角。

依赖关系
如果一个类失去一个类代码无法编译,那么说这个类依赖于这个类。
具体表现为:成员变量、局部变量、方法形参,方法返回值。

表示图形:虚线箭头。

对应的类关系。
// 小孩
class Child{private Hand hand; // 依赖关系:成员变量也成为关联public void riding(Foot foot){ // 方法形参Bike bike = new Bike(hand,foot); // 局部变量}
}
关联关系
2个类依赖关系,并且是依赖中的成员变量,则存在关联关系。
而且再细分,感觉跟MySQL中的外键约束,表设计有异曲同工之妙。
MySQL FOREIGN KEY 外键约束 (w3schools.cn)

表示图形:实线箭头、横线箭头。
单向关联

双向关联

聚合
是在依赖的及基础上(成员变量),但是和关联表现的层级不同,关联表示同层级之间,而聚合表示整体和部分层级之间。
另外: 整体和部分之间可以相互独立存在。
如: 一个公司由老板和员工组成。那么公司和员工关系就是聚合。而老板和员工的关系就是关联。

表示图形:空心菱形 + 箭头。
代码:一个Computer类需要Boss类和Employee类,聚合。
而Employee类中的businessTrip[出差]() 方法需要Boss的同意,这就是关联。
// 聚合和关联
class Computer{private Boss boss; // 聚合private Employee employee; // 聚合
}class Boss{}class Employee{private Boss boss; // 关联public boolean businessTrip(){// boss同意 return true// boss不同意 return false}
}
对应的图形
组合
区别与聚合,组合的整体和部分之间不能独立存在。
如: 人由手、脚、头等身体部位组成,但是手离开人、人离开手都不能做相应的方法。

表示图形: 实心菱形 + 实线箭头。
这个我就不画了。
相关文章:
UML图绘制 -- 类图
1.类图的画法 类 整体是个矩形,第一层类名,第二层属性,第三层方法。 :public- : private# : protected空格: 默认的default 对应的类写法。 public class Student {public String name;public Integer age;protected I…...
SAP ME2L/ME2M/ME3M报表增强添加字段(包含:LMEREPI02、SE18:ES_BADI_ME_REPORTING)
ME2L、ME2M、ME3M这三个报表的字段增强,核心点都在同一个结构里 SE11:MEREP_OUTTAB_PURCHDOC 在这里加字段,如果要加的字段是EKKO、EKPO里的数据,直接加进去,啥都不用做,就完成了 如果要加的字段不在EKKO和EKPO这两个…...
探讨uniapp的数据缓存问题
异步就是不管保没保存成功,程序都会继续往下执行。同步是等保存成功了,才会执行下面的代码。使用异步,性能会更好;而使用同步,数据会更安全。 1 uni.setStorage(OBJECT) 将数据存储在本地缓存中指定的 key 中&#x…...
服务的拆分
纵向拆分 是从业务维度进行拆分。标准是按照业务的关联程度来决定,关联比较密切的业务适合拆分为一个微服务,而功能相对比较独立的业务适合单独拆分为一个微服务。 以社交App为例,你可以认为首页信息流是一个服务,评论是一个服务…...
Uniapp Syntax Error: Error: Unbalanced delimiter found in string
报错 in ./src/pages/user/components/tasks.vue?vue&typescript&langjs&Syntax Error: Error: Unbalanced delimiter found in string...这边导致文件的原因:可能是条件编译语法不小心删了某个字符,导致不全,无法形成一对。 //…...
视频集中存储EasyCVR视频汇聚平台定制项目增加AI智能算法
安防视频集中存储EasyCVR视频汇聚平台,可支持海量视频的轻量化接入与汇聚管理。平台能提供视频存储磁盘阵列、视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联、H.265自动转码等功能。为了便…...
确保Django项目的稳定运行和持续改进
确保Django项目的稳定运行和持续改进 引言 Django是一个强大的Python Web框架,用于构建高效、可靠的Web应用程序。然而,部署一个Django项目并不意味着工作已经完成。在项目上线之后,确保项目的稳定运行并不断进行改进是非常重要的。本博客将…...
HAProxy负载均衡 代理
1.安装 yum -y install haproxy 2.配置文件 /etc/haproxy 下 global log 127.0.0.1 local2 #日志定义级别 chroot /var/lib/haproxy #当前工作目录 pidfile /var/run/haproxy.pid #进程id maxconn 4000 #最大连接…...
前端面试的游览器部分(8)每天10个小知识点
目录 系列文章目录前端面试的游览器部分(1)每天10个小知识点前端面试的游览器部分(2)每天10个小知识点前端面试的游览器部分(3)每天10个小知识点前端面试的游览器部分(4)每天10个小知…...
【【verilog典型电路设计之流水线结构】】
verilog典型电路设计之流水线结构 下图是一个4位的乘法器结构,用verilog HDL 设计一个两级流水线加法器树4位乘法器 对于流水线结构 其实需要做的是在每级之间增加一个暂存的数据用来存储 我们得到的东西 我们一般来说会通过在每一级之间插入D触发器来保证数据的联…...
大数据课程K2——Spark的RDD弹性分布式数据集
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的RDD结构; ⚪ 掌握Spark的RDD操作方法; ⚪ 掌握Spark的RDD常用变换方法、常用执行方法; 一、Spark最核心的数据结构——RDD弹性分布式数据集 1. 概述 初学Spark时,把RDD看…...
Seaborn数据可视化(一)
目录 1.seaborn简介 2.Seaborn绘图风格设置 21.参数说明: 2.2 示例: 1.seaborn简介 Seaborn是一个用于数据可视化的Python库,它是建立在Matplotlib之上的高级绘图库。Seaborn的目标是使绘图任务变得简单,同时产生美观且具有信…...
Sentinel规则持久化
首先 Sentinel 控制台通过 API 将规则推送至客户端并更新到内存中,接着注册的写数据源会将新的规则保存到本地的文件中。 示例代码: 1.编写处理类 //规则持久化 public class FilePersistence implements InitFunc {Value("spring.application:n…...
Transformer 相关模型的参数量计算
如何计算Transformer 相关模型的参数量呢? 先回忆一下Transformer模型论文《Attention is all your need》中的两个图。 设Transformer模型的层数为N,每个Transformer层主要由self-attention 和 Feed Forward组成。设self-attention模块的head个数为 …...
企业信息化过程----应用管理平台的构建过程
1.信息化的概念 信息化是一个过程,与工业化、现代化一样,是一个动态变化的过程。信息化已现代通信,网络、数据库技术为基础,将所有研究对象各个要素汇总至数据库,供特定人群生活、工作、学习、辅助决策等,…...
揭秘程序员的鄙视链,你在哪一层?看完我想哭
虽然不同的编程语言都有其优缺点,而且程序员之间的技能和能力更加重要,但是有些程序员可能会因为使用不同的编程语言而产生鄙视链。 以下是一些可能存在的不同编程语言程序员之间的鄙视链: 低级语言程序员鄙视高级语言程序员:使用…...
在docker下进行mysql的主从复制
搭建步骤 1、拉取镜像 docker pull mysql:latest2、查看镜像 docker images3、创建启动容器 Master docker run -p 3306:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD123456 -d mysql:latestSlave docker run -p 3307:3306 --name mysql-slave -e MYSQL_ROOT_PASSWO…...
【机器学习】处理不平衡的数据集
一、介绍 假设您在一家给定的公司工作,并要求您创建一个模型,该模型根据您可以使用的各种测量来预测产品是否有缺陷。您决定使用自己喜欢的分类器,根据数据对其进行训练,瞧:您将获得96.2%的准确率! …...
JVM前世今生之JVM内存模型
JVM内存模型所指的是JVM运行时区域,该区域分为两大块 线程共享区域 堆内存、方法区,即所有线程都能访问该区域,随着虚拟机和GC创建和销毁 线程独占区域 虚拟机栈、本地方法栈、程序计数器,即每个线程都有自己独立的区域&#…...
redis事务对比Lua脚本区别是什么
redis官方对于lua脚本的解释:Redis使用同一个Lua解释器来执行所有命令,同时,Redis保证以一种原子性的方式来执行脚本:当lua脚本在执行的时候,不会有其他脚本和命令同时执行,这种语义类似于 MULTI/EXEC。从别…...
【资讯】《二〇二五年中国知识产权保护状况》白皮书正式发布
2026年5月7日,《二〇二五年中国知识产权保护状况》白皮书正式发布,呈现了2025年中国知识产权保护工作进展,系统介绍制度建设、审批登记、文化建设、国际合作等方面的扎实成果,为社会各界和国际社会了解中国知识产权保护最新实践提…...
Bash脚本集成AI:实现自然语言到命令行的自动化运维工具
1. 项目概述:当Bash脚本遇见AI,自动化运维的新范式最近在GitHub上看到一个挺有意思的项目,叫“Hezkore/bash-ai”。光看名字,你可能会有点懵:Bash脚本和AI,这两个看似八竿子打不着的玩意儿,怎么…...
基于CircuitPython与BLE的无线手势鼠标:从传感器到HID设备的实践
1. 项目概述与核心思路想没想过,你手里的那块开发板,除了点灯、读传感器,还能直接变成你电脑的鼠标?不是通过USB线,而是像你的蓝牙耳机一样,无线连接,靠手腕的晃动来控制光标。这个想法听起来有…...
AI图像生成预设库:开源项目kaushalrao/ai-editor-presets使用指南
1. 项目概述:AI驱动的编辑预设库如果你和我一样,经常在各类AI图像生成工具里“炼丹”,那你一定对“预设”(Presets)这个概念不陌生。简单来说,预设就是一套预先配置好的参数组合,它能让你一键复…...
Godot引擎集成Wwise音频中间件:从原理到实战的完整指南
1. 项目概述:当AAA级音频引擎遇见开源游戏引擎如果你是一位使用Godot引擎的游戏开发者,并且对游戏音频的品质有追求,那么你很可能听说过Wwise。Wwise,全称Audiokinetic Wwise,是游戏音频领域的行业标准,从《…...
AI与Web3融合:Solana开发者工具箱core-ai架构解析与实践
1. 项目概述:当AI遇见Web3,一个开发者工具箱的诞生最近在Web3和AI的交叉领域里折腾,发现了一个挺有意思的项目——helius-tech-labs/core-ai。这名字听起来就很有野心,core(核心)和ai(人工智能&…...
高性能云端GPU推荐,满足深度学习全场景需求
本文以安诺其集团旗下专业GPU算力平台“智星云”为样本,从其技术架构、全系型号定价、主流平台对比、全场景适配四个维度展开,聚焦一个核心问题:在算力价格全线上涨的2026年,高性能深度学习任务如何用合理的预算匹配最合适的GPU方…...
167.YOLOv8口罩检测常见问题避坑(loss为NaN/显存溢出/ONNX导出失败实战版)
摘要 目标检测是计算机视觉领域的核心任务之一。YOLO(You Only Look Once)系列模型凭借其端到端、单阶段、高实时性的特性,已成为工业界和学术界最广泛使用的目标检测框架。本文从零开始,系统讲解YOLOv8的核心原理,并给出从数据准备、模型训练、推理验证到ONNX部署的完整…...
NotebookLM辅助CRISPR靶点筛选实操:从NCBI SRA原始数据到脱靶风险摘要,限时开放实验日志包
更多请点击: https://intelliparadigm.com 第一章:NotebookLM生物学研究辅助 NotebookLM 是 Google 推出的基于 LLM 的研究型笔记工具,专为科研人员设计,其核心能力在于对私有文档(如 PDF、TXT)进行深度语…...
别再只会用Matplotlib画基础热力图了!这5个高级定制技巧让你的图表瞬间专业
解锁Matplotlib热力图的5个高阶美学密码:从基础图表到专业可视化 当你第一次用Matplotlib画出热力图时,那种成就感就像解开了数据分析的第一道密码。但随着项目复杂度的提升,那些默认参数生成的图表开始显得单薄——颜色映射不够精准、标注信…...

