[UML]类的关系与类图

news/2024/4/20 0:42:27/文章来源:https://blog.csdn.net/RekklesYasin/article/details/127628202

类的六种关系
1.继承关系(extends)
继承(泛化):指一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口),子类增加新功能。也称为“is-a”关系。
UML图表示:带空心三角形的实线,空心三角形指向父类,实线开始端为子类。

2.实现关系(interface)
实现:类B实现接口A(可以是多个),那么类B和接口A的关系就是实现关系。
UML图表示:带空心三角形的虚线,空心三角形指向接口,虚线开始端为类。

3.依赖关系
依赖:依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要 表示一个事物使用另一个事物时使用依赖关系。
对于类A和类B,若出现下面情况,称为类A依赖类B:

1.类A中某个方法的形参是类B类型。

2.类A中某个方法的返回类型是类B类型。

3.类A中某个方法中的局部变量是类B类型。

UML图表示:带箭头的虚线,箭头指向被依赖类,虚线起始端为依赖类

4.关联关系
关联:是对象之间的拥有关系,即“has a”关系。如果B类中某个成员变量的类型是A类(接口), 称B关联于A。
UML图表示:带箭头的实线,箭头指向被关联类,实线起始端是关联类。

5.聚合关系
聚合:表示类A和类B之间是整体与部分的关系,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。通常在定义一个整体类后,再分析这个整体类的组成结构,从而找出一些成员类该整体类和成员类之间就形成了聚合关系。
UML图表示:带空心菱形的有箭头的实线,空心菱形指向整体类,箭头指向成员类。

6.组合关系
组合:也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在,部分对象与整体对象之间具有同生共死的关系。成员类是整体类的一部分,且整体类可以控制成员类的生命周期,即成员类的存在依赖于整体类。
UML图表示:带实心菱形的有箭头实线,实心菱形为整体,箭头指向部分。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hbuilderx ios自定义基座真机测试

任务描述: 用uniapp框架写了一个app应用,需要在ios苹果手机上真机运行测试。 hbuilderx不再支持标准基座真机运行了,需要自定义基座运行 制定自定义基座需要准备的材料: ios的appid,profile文件,私钥证书&#xff0…

动视是否磨灭了暴雪的灵魂?

对于成千上万的人,也许是数百万人来说,暴雪是——或者曾经是——一家特殊的公司。 暴雪——游戏开发的典范 对于奇幻世界的关注,暴雪是无与伦比的。如果游戏没有准备好,它就不会发布。1998 年,尽管《魔兽争霸&#xf…

算法复杂度分析

复杂度分析 参考:《算法导论》、复杂度 - OI Wiki (oi-wiki.org)、一文弄懂算法的时间和空间复杂度分析 - 知乎 (zhihu.com)、算法讲解之复杂度分析 - 知乎 (zhihu.com)、算法的时间复杂度和空间复杂度-总结_zolalad的博客-CSDN博客_时间复杂度 算法复杂度分析的阶段…

梦开始的地方 —— C语言数据在内存中的存储(整形+浮点型)

文章目录整形在内存中的存储1. 数值类型的基本分类2. 整形在内存中的存储1. 原码、反码、补码2. 内存中为什么要存放补码?3. 大小端存储4. 无符号有符号数练习5. 有符号数无符号数小结浮点型在内存中的存储IEEE 754整形在内存中的存储 1. 数值类型的基本分类 整形…

AJAX基础+Axios快速入门+JSON使用+综合案例

目录1、 AJAX1.1 概述1.1.1 作用1.1.2 同步和异步1.2 快速入门1.2.1 服务端实现1.2.2 客户端实现1.3 案例1.3.1 需求1.3.2 分析1.3.2 后端实现1.3.3 前端实现2、 Axios异步框架2.1 基本使用2.2 快速入门2.2.1 后端实现2.2.2 前端实现2.3 请求方法别名3、 JSON3.1 概述3.2 JSON基…

GAS技能系统

HUT -》 在\Intermediate\Build\Win64\UE4Editor\Inc\的目录下 找到generated 头文件和cpp文件 里面有HUT根据UCLASS 和 Generate Body 生成的 定义 以及声明宏(UFUNCTION 里的CustomThunk元可以让用户自己手动添加宏定义和宏声明) 将wildcard改为通配符然后手动将自定义的…

Terraform 华为云实践 项目初始化

这个架构就是DNS加上负载均衡加ecs,最后vpc的架构。网络这块是DNS和VPC,对象存储是用来做terraform的后端来配置。 项目的初始化 Terraform Registry 华为云的terraform链接如上所示。 先将项目的目录结构建好,modules是我们的模块&#xf…

来一场关于元宇宙的灵魂辩论|BOOK DAO内容共建招募

「 备选问题 」1. 你认为元宇宙最重要的特点是什么?用一句话描述你理解的 “元宇宙”2. 元宇宙是游戏2.0吗?它与游戏有什么不同?3. 元宇宙是否需要区块链?是否需要NFT?各扮演什么角色?4. 元宇宙是否需要经济…

大数据项目之电商数仓、电商业务简介、电商业务流程、电商常识、业务数据介绍、电商业务表、后台管理系统

文章目录5. 电商业务简介5.1 电商业务流程5.2 电商常识5.2.1 SKU和SPU5.2.2 平台属性和销售属性5.2.2.1 平台属性5.2.2.2 销售属性6. 业务数据介绍6.2 电商业务表6.2.1 收藏商品6.2.2 加购物车6.2.3 领用优惠券6.2.4 下单6.2.5 支付6.2.6 退单6.2.7 退款6.2.8 评价6.3 后台管理…

部署简易POD image自己定义镜像

k8s部署pod apiversion: 版本 kind: 类型 metadata: 字面意识,元素信息,POD信息 name: POD名字 labels: 字母意识,标签 通过拓扑 label 进行副本调度 label的使用无非就是增删改查 还有个重要的标签namespace(命名空间&…

针对垃圾渗滤液中膜产水脱氮工艺的设计,除氨氮树脂

垃圾渗滤液是指来源于垃圾填埋场中垃圾本身含有的水分、进入填埋场的雨雪水及其他水分,扣除垃圾、覆土层的饱和持水量,并经历垃圾层和覆土层而形成的一种高浓度的有机废水,有堆积的准备用于焚烧的垃圾渗漏出的水分。为什么要处理垃圾渗滤液&a…

黑马点评-达人探店

摘要:达人探店业务: 本质是发表blog和点赞等功能。利用Redis的Set实现点赞与取消点赞,然后利用SortedSet对点赞功能进行改进实现点赞排行的功能。 在学习的过程中,我们不应该急于写代码,首先分析业务逻辑,…

SpringBoot项目启动执行任务的几种方式

经过整理后得到以下几种常用方式,供大家参考。 1. 使用过滤器 init() :该方法在tomcat容器启动初始化过滤器时被调用,它在 Filter 的整个生命周期只会被调用一次。可以在这个方法中补充想要执行的内容。 Component public class MyFilter …

vs2017 外网远程调试

外网远程调试:由于外网的目标电脑IP无法直接访问,则需要第三方内网穿透工具辅助,本文使用NATAPP进行 注册一个账号:NATAPP -注册完成,登录后,在购买隧道中选择Free免费购买一个 购买成功后,在我的隧道中可…

突破出行市场桎梏,需要高端出行的精神内核?

如果高端出行是一本书,那么豪车可能只是封面和封底。真正重要的,是隐藏其中的服务的精神与体验的内核。 这一点,国内高端出行市场的探索者们应当深有体会。从早期高端巡游出租车,到BBA豪华车势力曾经推动的高端出行网约车&#x…

「设计模式」工厂方法模式

文章目录一、概念二、用途三、实现方式四、工厂方法模式的利与弊为什么要使用工厂来创建对象?为什么每种对象要单独有一个工厂?五、工厂方法与简单工厂的区别六、总结参考资料一、概念 工厂方法模式(Factory Method Pattern)又称为工厂模式,…

前端工具——01-VS Code的使用

前言 文章标题:《第一次使用 VS Code 时你应该知道的一切配置》。本文的最新内容,更新于 2020-06-19。大家完全不用担心这篇文章会过时,因为随着 VS Code 的版本更新和插件更新,本文也会随之更新。 本文的最新内容,也会…

腾讯云centos7安装mysql5.7

昨天服务器上的数据库被勒索了,重装系统之后不得不再装一次数据库,踩了很多坑,在此记录安装过程。 首先把centos7自带的数据库mariadb卸载掉,把MySQL的相关文件夹都删掉。 查看组件服务 rpm -qa | grep -i mariadb rpm -qa | gr…

Mybatics-连接配置

1、mysql连接数_MySQL配置参数优化 1.1、优化最大连接数max_connections 是MySQL最大并发连接数默认值是151 MySQL允许的最大连接数上限是32767 实际连接数是最大连接数的85%较为合适 查询数据库目前设置的最大并发连接数是多少 查询数据库目前实际连接的并发数是多少 在MyS…

SpringBoot集成JWT(极简版):

文章目录1.JWT依赖2.JWT工具类TokenUtils.java3.token示例4.拦截器JwtInterceptor.java5.拦截器设置InterceptorConfig.java6.统一接口WebConfig.java7.设置自定义头配置 CorsConfig .java8.GlobalExceptionHandler.java9.ServiceException.java10.设置token:11.最终效果&#…