类图的认识

简介: 类图的认识

什么是类图

类图是由许多(静态)说明性的模型元素组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。

为什么要画类图

1.描述系统中类与类之间的关系,可以简化了人们对系统的理解

2.方便我们前期对于系统分析和阶段设计做一个建模

类图中的元素

类中包括类名、属性、方法。对于方法和属性的修饰符,有私有的、共有的和保护的。在类图中对应的表现形式是-、+和#。

043a2a56e76a4f91a286aa5489b6d604.png

类与类之间的关系

继承:在子类和父类中体现

bc438217ec8a4e48bab7c9bb34c73627.png

实现:在接口和实现类中体现

84d26fdfb2b54b789525a9f4bc4d4aef.png

依赖:在引用类和被依赖类中体现,作用范围相对于关联作用域小

4a6a6a477819405782c3d3857cdaa741.png

关联:引用类和被引用类中体现,作用范围相对于依赖作用域大

262ab157838f4b6c86f768f93cebe0f9.png

聚合和组合:部分类和整体类中体现,主要区分在于生命周期是否一致。组合关系的部分类和整体类的生命周期是一致的。

d1d307e9d3d34679ab202156f531a804.png


相关文章
|
调度
【浅入浅出】Qt多线程机制解析:提升程序响应性与并发处理能力
在学习QT线程的时候我们首先要知道的是QT的主线程,也叫GUI线程,意如其名,也就是我们程序的最主要的一个线程,主要负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。但是当我们只限于在一个主线程上书写逻辑时碰到了需要一直等待的事件该怎么办?它的加载必定会带着主界面的卡顿,这时候我们就要去使用多线程。
391 6
|
存储 消息中间件 运维
使用Java实现分布式日志系统
使用Java实现分布式日志系统
|
数据采集 监控 搜索推荐
使用 Python 爬虫进行网站流量分析:Referer 头的利用
使用 Python 爬虫进行网站流量分析:Referer 头的利用
|
Web App开发 Java iOS开发
webp详解
WebP是一种由谷歌开发的图像文件格式,旨在提供更高效的图像压缩方法,以加快网页加载速度。它支持有损和无损压缩模式,并且在相同的视觉质量下,相比JPEG和PNG等格式,文件大小更小,从而优化了网络传输效率。此外,WebP还支持透明度和动画图像。
|
Linux Shell Perl
在Linux中,如何使用sed命令进行文本替换?
在Linux中,如何使用sed命令进行文本替换?
|
前端开发 JavaScript
|
机器学习/深度学习 存储 PyTorch
【深度学习】Pytorch面试题:什么是 PyTorch?PyTorch 的基本要素是什么?Conv1d、Conv2d 和 Conv3d 有什么区别?
关于PyTorch面试题的总结,包括PyTorch的定义、基本要素、张量概念、抽象级别、张量与矩阵的区别、不同损失函数的作用以及Conv1d、Conv2d和Conv3d的区别和反向传播的解释。
993 2
|
Ubuntu 网络协议
Ubuntu20.04配置静态ip
配置Ubuntu 20.04使用静态IP地址是一个简单直接的过程,特别是借助于Netplan工具。遵循上述步骤,您可以轻松完成静态IP配置,为您的设备提供一个稳定和不变的网络地址。
1312 2
|
Java 关系型数据库 MySQL
保姆级教程——将springboot项目部署到阿里云服务器包含环境配置(小白包会)
本文档详细介绍了将SpringBoot项目部署到阿里云服务器的步骤。首先,通过Xshell连接服务器,使用公网IP地址。接着,下载JDK的Linux版本,使用XFTP上传并解压,配置环境变量。然后,安装MySQL 5.7,包括下载YUM源、安装、启动服务以及修改root密码和开启远程访问。最后,将SpringBoot项目打包成jar,上传至服务器,使用`java -jar`命令运行,通过`nohup`确保服务持续运行。配置安全组以允许远程访问。
2661 0
|
机器学习/深度学习 数据采集 人工智能
智能化运维的探索与实践:AI在IT运维中的应用
【6月更文挑战第19天】随着人工智能技术的不断成熟,其在IT运维领域的应用也愈发深入。本文将探讨AI技术如何赋能传统IT运维,提升效率和响应速度,实现故障预测、自动化处理及优化决策。通过分析AI在运维中的实际应用案例,我们能更好地了解其潜力与挑战,并预见未来智能化运维的发展路径。
958 6