简单了解UML类图

news2024/11/26 16:37:58

前言

大话设计中,多次使用UML类图来表示,并也给了基本的介绍,这里从书中选出UML图和代码做成笔记,以方便查找。

1、类

注意前面的符号:
+:public
-:private
#:protected
抽象类,第一行的名称要用斜体
在这里插入图片描述

abstract class 动物{
	public 类型 有生命;
	...// 后面依赖关系会提到
}

2、接口

接口的UML有两个表示形式,矩阵表示法和棒棒糖表示法。

在这里插入图片描述

interface I飞翔{
	void();
}

在这里插入图片描述

棒棒糖表示法中,接口名称讲人话接口方法讲话

interface I讲人话{
	void 讲话();
}

3、继承

在这里插入图片描述

classextends 动物{
	public 数据类型 羽毛;
	public void 下蛋(){
		...
	};
}

4、实现

在这里插入图片描述

class 大雁 implements I飞翔{
	public void 下蛋(){
		...
	};
	public void(){
		// 接口的方法,这里具体实现
	};
}

5、关联关系

企鹅需要‘知道’气候变化,需要‘了解’气候规律。
当一个类‘知道’另一个类时,可以用关联(association)在这里插入图片描述

class 企鹅 extends{
	// 在 企鹅 中,引用了气候climate对象
	private 气候 climate;
}

6、聚合关系

聚合关系:A可以包含B,但B不是A的一部分。

在这里插入图片描述

class 雁群{
	// 雁群可以有多个大雁在里面
	private 大雁[] 声明的对象;
}
  • 解释:
    雁群是一个大的群体,可以看作定义中的A;大雁是单独的个体,可以看作定义的B,这个个体可以有好多(B1到Bn个)。如下图,B4可以在A中,也可以不在A中,这就是聚合。
    在这里插入图片描述

7、组合关系

组合关系:整体与部分,包含。

连接线上有数字‘1’和‘2’,这个表示一端的类可以有几个实例
下图例子是1个鸟有2个翅膀在这里插入图片描述

class{
	// 鸟中声明翅膀对象wing
	private 翅膀 wing;
	public(){
		// 初始化时,实例化翅膀wing,他们之间同时生成
		wing = new 翅膀();
	}
}

PS:无参构造里面的内容为组合;
白话:主体一旦被创建,部分也要同时被创建,所以在构造方法中。
在这里插入图片描述

8、依赖关系

在这里插入图片描述

abstract class 动物{
	public 类型 有生命;
	// 
	public 新陈代谢(氧气 oxygen,水 water){
	
	}
}

PS:被依赖的类(氧气,水),做为主类的返回对象或着形参数
白话:被依赖的类,在主类的方法中被要用到。

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

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

相关文章

华为认证 | 存储专家HCIE-Storage V3.0 正式发布!

华为认证存储专家HCIE-Storage V3.0(中文版)自2023年7月13日起,正式在中国区发布。 01 发布概述 基于“平台生态”战略,围绕“云-管-端”协同的新ICT技术架构,华为公司打造了覆盖ICT领域的认证体系,包含IC…

秋招LeetCode刷题Day1 -- 前缀树专题

一个人的朝圣 — LeetCode打卡第 天 知识总结 Leetcode 208. 实现 Trie (前缀树)题目说明代码说明 Leetcode 211. 添加与搜索单词 - 数据结构设计题目说明代码说明 Leetcode 648. 单词替换题目说明代码说明 知识总结 今天重新学习了一下前缀树以及相关的知识 Leetcode 208. 实…

2023-07-19 平面坐标下判断三角形以及输出周长和面积

平面坐标下判断三角形以及输出周长和面积 前言一. 基本知识总结 前言 平面坐标下判断三角形以及输出周长和面积, 用线性代数的简单知识. 一. 基本知识 在平面坐标, 三个点就是三个向量, 可以通过两个向量同时减去第三个向量, 形成一个顶点在原点的三角形. 我们发现, 只有一种…

详解C#开发Android应用程序的流程

Android系统一下子铺天盖地而来,让人目不暇接。兴奋的同时也让部分开发人员犯难了!要知道从熟知的Wince、Mobile开发语言C#跨越到RFID-Android的Java。可不是一朝一夕就能完成的。就好比你的乾坤大挪移已经第七层了,却忽然要你从易筋经从头练…

LiveGBS流媒体平台GB/T28181功能-报警信息报警订阅配置报警预案告警触发报警时截图及录像

LiveGBS国标GB/T28181报警信息报警订阅配置报警预案告警触发报警时截图及录像 1、报警信息1.1、报警查询1.2、配置开启报警订阅1.2.1、国标设备编辑1.2.2、选择开启报警订阅 1.3、配置摄像头报警1.3.1、配置摄像头报警通道ID1.3.2、配置摄像头开启侦测1.3.3、尝试触发摄像头报警…

Fofa搜索技巧(理论加实践的整理)

目录 题记技巧(我一般找国内的,所以下边一直加cn)1、搜索HTTP响应头中含有"thinkphp"关键词的网站和IP。2、加上标题带有后台的。3、加上时间,现在新网站有thinkphp日志泄露的有很多。4、搜索html正文中含有"管理…

macboock Air mac系统phpstudy安装php8操作

现在mac的phpstudy的php版本只能到7.3,而有的网站需要8.0以上的版本,那就要手动进行安装 安装后的效果 操作一 安装php8.2的版本 brew install php8.2完成后的地址 /usr/local/Cellar/php/8.2.8 进入/usr/local/Cellar/php/,复制整个文件…

通过监控平台提高运维效率、降低运营成本、实现绿色低碳、节能降耗、提升PUE值-安科瑞黄安南

01引言 近年来,随着母线槽在建筑及工厂的配电中越来越广泛,母线槽场景运用得越多,随着数据中心建设的快速发展和更高需求,智能母线系统逐渐被应用于机房的末端配电中,具有电流小、插接方便、智能化程度高等特点&#…

【深度学习论文阅读】四大分类网络之AlexNet

ImageNet Classification with Deep Convolution Nerual Networks 论文原文:ImageNet Classification with Deep Convolutional Neural Networks 1 引言 解决的问题: 提高效率(GPU训练),防止过拟合(drop…

VCSEL器件的常见参数有哪些?如何测试?

概述 垂直腔面发射激光器(VCSEL)是一种激光发射方向垂直于P-N结平面,而谐振腔面平行于P-N结平面的半导体激光器,它属于面发射激光器的一种。而EEL边射型激光器的光则是沿着水平方向,由芯片的边缘射出。与EEL相比, VCSEL的生产过程更具经济效益并且响应快,因此在越来越多的应用中…

cocosCreator笔记 之Android打包

版本: v3.4.0 环境: Mac 简介 cocosCreator打包APK包,需要AndroidStudio 4.1版本以上的支持,不支持Eclipse的ANT构建。大概的环境配置: 下载Java SE Development Kit 8 Downloads , 安装JAVA环境下载 Android Studi…

让 AI 真正读懂人类语言,5分钟搞懂 word embedding 技术

大家好啊,我是董董灿。 在学习自然语言处理(NLP,Natural Language Processing)时,最先遇到的一个概念,可能就是词嵌入(word embedding)了。 词嵌入,是让AI真正理解人类自然语言的技术(看完本文再回过头来看这句话&am…

【分布式系统案例课】计数服务之计数服务设计

计数服务如何实现 回顾需求 对于可扩展:对写入的数据进行分区。 对于高性能:借助缓存技术的处理,为了提高吞吐量,需要做批量batch批处理 对于高可靠:不丢数据,需要对数据进行持久化,还要借助复…

After Effects(AE)如何选择电脑硬件?

处理器(CPU) 处理器(或 CPU)是 After Effects 工作站最重要的部件之一。虽然 GPU 加速越来越受欢迎,但现在您选择的 CPU 通常会对整体系统性能产生更大的影响。然而,After Effects 使用 CPU 的方式意味着仅…

github.com网站提示无法访问此页面——亲测有效(已解决)

最近在看stepin-template的vue3版本,发现这个后台框架还是有很多不足的地方。于是想要提交一个关于菜单折叠展开的issue。 但是一打开github.com网站,就提示下图了: 于是百度搜索解决办法: 附上大神提供的解决办法:g…

Navicat分配子用户及权限管理

一、创建用户,分配权限 新建用户 输入要创建的子用户的信息 主机名 表示访问本服务的方式,%表示即可以本机访问,也可以远程访问 之后,我们给创建的用户分配权限(在该数据库的可操作空间) 为用户分配增删改…

SciencePub学术 | 计算机语音类重点SCIEEI征稿中

SciencePub学术 刊源推荐: 计算机语音类重点SCIE&EI征稿中!信息如下,录满为止: 一、期刊概况: 计算机语音类重点SCIE 【期刊简介】IF:4.0-4.5,JCR2区,中科院3区; 【出版社】世…

结构型模式 - 桥接模式

概述 现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系: 我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。 试想…

数据结构(王道)——数据结构之 树

一、数据结构-树的定义 树的概念补充: 树型逻辑结构图 结点之间的关系描述 结点、树的属性描述: 有序树、无序树: 树和森林: 树的总结: 二、树的性质 概念总结:

2023年四川大学生程序设计竞赛-K.倒转乾坤

Cuber QQ 现在手上有两个圆环,其中小圆环的直径是 d,大圆环的直径是 2d 。他将小圆环放在大圆环内, 并让小圆环紧贴大圆环内壁进行无滑动的滚动。 Cuber QQ 总是喜欢动态的美,他在小圆环上等间隔地标记了 n 个点,他想…