二、《重学设计模式》-UML类图

news/2025/2/21 19:13:36/

UML类图常用的6种关系

  • 依赖
  • 泛化(继承)
  • 实现
  • 关联
  • 聚合
  • 组合
类图常用表示图

在这里插入图片描述

依赖、泛化、实现都是从 依赖谁、继承谁、实现谁,箭头就指向谁

组合和聚合 都是从部分指向整体,菱形都指向整体

关联都是谁关联谁,箭头就指向谁

依赖(虚线实心箭头)

类中使用到对方,例如成员属性,方法参数或者返回值,局部变量

泛化(实现空心箭头)

泛化就是继承,如果B类继承了A类,那么可以说AB类存在泛化关系

实现(虚线空心箭头)

类B实现了接口A , 那么就可以说B实现了A

关联

一对一关联 :一个人只能一个默认收货地址

多对多关联:一个学生有多个老师,一个老师有多个学生

自关联:树形结构

Tree{T value;Tree nextNode;
}

聚合(实现空心菱形)

实现部分和整体的关系,但是部分与整体是可拆分状态

例如:台式机包含机箱、显示器、鼠标、键盘,如果没有显示器,也可以通过远程登录的方式进行访问,所以显示器和台式机的关系就是聚合关系

组合(实线实心菱形)

实现部分与整体的关系,但是部分与整体不可拆分

例如:每个人都有身份证,每个人也都有头,但是人可以丢身份证,但是人不可以丢脑袋,所以身份证和人的关系是聚合,脑袋和人的关系就是组合


http://www.ppmy.cn/news/1573626.html

相关文章

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑰】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase17 作者:车端域控测试工程师 更新日期:2025年02月19日 关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-017测试用例 用例ID测试场景验证要点参考条款预期结果TC…

【响应式驾考培训网站模板】H5自适应源码下载|含教学管理系统+在线预约功能|多终端适配|可商用授权

(H5自适应)汽车驾校网站模板 驾照培训网站源码下载 后台地址:您的域名/admin.php 后台账号:admin 后台密码:123456 为了提升系统安全,请将后台文件admin.php的文件名修改一下。修改之后,后台登录地址就是&#xff…

LayoutLMv3:文档智能处理的多模态利器

在数字化时代,文档处理已成为众多领域不可或缺的一部分。从简单的文本编辑到复杂的图像识别,文档智能处理的需求日益增长。微软开源的 LayoutLMv3 项目,凭借其创新的多模态预训练方法,为文档处理领域带来了新的突破。本文将详细介绍 LayoutLMv3 的项目背景、核心优势、使用…

DeepSeek、微信、硅基流动、纳米搜索、秘塔搜索……十种不同方法实现DeepSeek使用自由

为了让大家实现 DeepSeek 使用自由,今天分享 10 个畅用 DeepSeek 的平台。 一、官方满血版:DeepSeek官网与APP 首推,肯定是 DeepSeek 的官网和 APP,可以使用满血版 R1 和 V3 模型,以及联网功能。 网址: htt…

【组态PLC】基于博图V16和组态王六层双部电梯组态设计【含PLC组态源码 M008期】

控制要求 1)两台电梯同时运行时,共同享用一套外呼按钮。 2)当两台电梯同时去响应外呼信号时,两台电梯自动定向启动前往相应的楼层,当某一台电梯先行到达指定层楼时,另外一台电梯必须就近停靠平层&#xf…

spring boot知识点2

1.spring boot 要开启一些特性,可通过什么方式开启 a.通过Enable注解,可启动定时服务 b.通过application.properties可设置端口号等地址信息 2.什么是热部署,以及spring boot通过什么方式进行热部署 热部署这个概念,我知道。就…

【Unity动画】导入动画资源到项目中,Animator播放角色动画片段,角色会跟随着动画播放移动。

导入动画资源到项目中,Animator播放角色动画片段,角色会跟随着动画播放移动,但我只想要角色在原地播放动画。比如:播放一个角色Run动画,希望角色在原地奔跑,而不是产生了移动距离。 问题排查: 1.是否勾选…

Java虚拟机(JVM)深度解析

Java虚拟机(JVM)深度解析 JVM概述JVM内存结构堆内存详细分区类加载机制类加载流程类加载器层次执行引擎与运行时数据区执行引擎核心组件运行时数据区交互垃圾回收机制(GC)GC算法分类常见垃圾收集器JVM性能调优常用参数示例JVM概述 Java虚拟机(Java Virtual Machine, JVM)…