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 = wingmWing.fly()}
}
  • 强依赖,Bird主体消失,强引用Wing必须同时或提前消失
  • 单个对象关联,只有mWing一个成员变量作为关联Wing

聚合关系

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

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

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

相关文章

手机操作系统的沉浮往事

手机操作系统的沉浮往事&#xff08;上&#xff09; 移动终端操作系统&#xff0c;也就是指手机、平板电脑等设备所使用的操作系统。 在移动互联网高度发达的今天&#xff0c;我们使用移动终端操作系统的时长&#xff0c;可能已经远远超过了 Windows 等桌面操作系统。 那么&…

dp or 数学问题

看一下数据量&#xff0c;只有一千&#xff0c;说明这个不是数学问题 #include<bits/stdc.h> using namespace std;#define int long long const int mo 100000007; int n, s, a, b; const int N 1005;// 2 -3 // 1 3 5 2 -1 // 1 -2 -5 -3 -1 int dp[N][N]; int fun…

​行业原型:P2P汽车抵押借贷平台

行业原型预览链接&#xff1a; 文件类型&#xff1a;.rp 支持版本&#xff1a;Axrure RP 8 文档名称&#xff1a;金融-P2P汽车抵押借贷平台&#xff08;web-移动-后台&#xff09; 文件大小&#xff1a;1.00 MB 原型目录 原型界面 ​ “210721” 领取

LineSegmentIntersectorUtils::IntersectFunctor::intersect源码分析

目录 1. 概述 2. 代码环境说明 3. intersect函数分析 1. 概述 osgUtil::Intersector有几个子类&#xff0c;如下&#xff1a; 每个子类表示不同的求交器。所谓求交器就是判定和物体相交的类&#xff0c;通过这些类可以很方便的得出交点、实现拾取功能等。LineSegmentInterse…

Unity动画系统(3)---融合树

6.1 动画系统基础2-6_哔哩哔哩_bilibili Animator类 using System.Collections; using System.Collections.Generic; using UnityEngine; public class EthanController : MonoBehaviour { private Animator ani; private void Awake() { ani GetComponen…

跟李沐学AI:模型选择、过拟合和欠拟合

目录 训练误差和泛化误差 验证数据集和测试数据集 K-则交叉验证 模型总结 过拟合和欠拟合 模型容量 模型容量的影响 估计模型容量 数据复杂度 拟合总结 训练误差和泛化误差 训练误差&#xff1a;模型在训练数据上的误差 泛化误差&#xff1a;模型在新数据上的误差 …

我无法给博客园出钱,那我就出点建议吧

相信这张图大家都已经看见过了&#xff0c;从去年就传出博客园经营困难的情况&#xff0c;其实很多平台&#xff0c;不止是博客园&#xff0c;包括现在国内的很多公司都一样&#xff0c;经营是一件大难题&#xff0c;但很多公司我们不知道&#xff0c;悄无声息的倒下了。而博客…

泛微e-cology WorkflowServiceXml SQL注入漏洞(POC)

漏洞描述&#xff1a; 泛微 e-cology 是泛微公司开发的协同管理应用平台。泛微 e-cology v10.64.1的/services/接口默认对内网暴露&#xff0c;用于服务调用&#xff0c;未经身份认证的攻击者可向 /services/WorkflowServiceXml 接口发送恶意的SOAP请求进行SQL注入&#xff0c;…

Nginx优化与防盗链(企业网站架构部署与优化)

Nginx网页优化与防盗链 本章结构 隐藏版本号&#xff1a; 首先进入nginx的配置文件&#xff1a; vim /usr/local/nginx/conf/nginx.conf 添加这个语句&#xff0c;重启服务后生效。 重启服务后生效&#xff1b; 如果想把nginx名称都给改了&#xff0c;需要修改nginx的源代码…

STM32使用Wifi连接阿里云

目录 1 实现功能 2 器件 3 AT指令 4 阿里云配置 4.1 打开阿里云 4.2 创建产品 4.3 添加设备 5 STM32配置 5.1 基础参数 5.2 功能定义 6 STM32代码 本文主要是记述一下&#xff0c;如何使用阿里云物联网平台&#xff0c;创建一个简单的远程控制小灯示例。 完整工程&a…

Flink底层原理解析:案例解析(第37天)

系列文章目录 一、flink架构 二、Flink底层原理解析 三、Flink应用场景解析 四、fink入门案例解析 文章目录 系列文章目录前言一、flink架构1. 作业管理器&#xff08;JobManager&#xff09;2. 资源管理器&#xff08;ResourceManager&#xff09;3. 任务管理器&#xff08;Ta…

【数学建模】高温作业专用服装设计(2018A)隐式差分推导

为方便计算&#xff0c;对区域进行离散化处理&#xff0c;采用隐式差分格式进行离散计算。隐式差分格式如图&#xff1a; 每层材料内部 对第 j j j层材料: 其中&#xff0c; λ j \lambda_j λj​表示第 j j j层的热扩散率&#xff0c; c j c_j cj​表示第 j j j层的比热容…

RFID(NFC) CLRC663非接触读取芯片GD32/STM32 SPI读取

文章目录 基本介绍硬件配置连接硬件连接详解程序代码代码解释 基本介绍 CLRC663 是高度集成的收发器芯片&#xff0c;用于 13.56 兆赫兹的非接触式通讯。CLRC663 收发器芯片支 持下列操作模式 • 读写模式支持 ISO/IEC 14443A/MIFARE • 读写模式支持 SO/IEC 14443IB • JIS X…

全网超详细Redis主从部署(附出现bug原因)

主从部署 整体架构图 需要再建两个CentOs7,过程重复单机部署 http://t.csdnimg.cn/zkpBE http://t.csdnimg.cn/lUU5gLinux环境下配置redis 查看自己ip地址命令 ifconfig 192.168.187.137 进入redis所在目录 cd /opt/software/redis cd redis-stable 进入配置文件 vim redi…

【JavaEE精炼宝库】 初识网络原理——网络通信基础 | 协议

文章目录 一、网络发展史1.1 独立模式&#xff1a;1.2 网络互连&#xff1a;1.3 局域网&#xff08;LAN&#xff09;&#xff1a;1.4 广域网&#xff08;WAN&#xff09;&#xff1a; 二、网络通信基础2.1 IP地址&#xff1a;2.2 端口号&#xff1a; 三、协议3.1 协议的概念&am…

Python基础语法篇(上)

Python基础语法&#xff08;上&#xff09; 一、基知二、基本数据类型&#xff08;一&#xff09;标准数据类型&#xff08;二&#xff09;数据类型转换 三、字符串基本操作&#xff08;一&#xff09;字符串的索引和切片&#xff08;二&#xff09;字符串的拼接 三、运算符四、…

在golang中Sprintf和Printf 的区别

最近一直在学习golang这个编程语言&#xff0c;我们这里做一个笔记就是 Sprintf和Printf 的区别 fmt.Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。 fmt.Printf 根据格式化参数生成格式化的字符串并写入标准输出。由上面就可以知道&#xff0c;fmt.Sprintf返回的…

AI第二课堂第一次笔记

conda的使用 在输入cmd进入终端后&#xff0c;使用命令 conda create -n env_name python3.10 创建环境 命令 conda activate env_name 打开环境&#xff0c;如&#xff1a;使用 conda deactivate退出指令 2.python一些常见操作 python中的文件打开与关闭 调开源的库 p…

C++--lambda表达式

介绍 一个lambda表达式表示一个可调用的代码单元。我们可以将其理解为一个未命名的内联函数。和函数类型,lambda有一个返回值,一个参数列表和一个函数体,但比函数多一个捕获列表。具体形式如下: [捕获列表](参数列表) ->返回值类型 {函数体}其中:捕获列表:可以捕获定义lam…

NineData全面支持PostgreSQL可视化表结构设计

“PostgreSQL 是最像 Oracle 的开源关系型数据库“&#xff0c;也正因为如此&#xff0c;很多企业都青睐 PostgreSQL&#xff0c;拿它当成 Oracle 的替代品。所以毫无疑问&#xff0c;目前 PostgreSQL 在企业中非常常见。 对于直接接触 PostgreSQL 的开发人员而言&#xff0c;…