当前位置: 首页 > article >正文

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

UML类图常用的6种关系

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

在这里插入图片描述

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

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

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

依赖(虚线实心箭头)

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

泛化(实现空心箭头)

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

实现(虚线空心箭头)

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

关联

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

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

自关联:树形结构

Tree{
    T value;
    Tree nextNode;
}

聚合(实现空心菱形)

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

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

组合(实线实心菱形)

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

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


http://www.kler.cn/a/557393.html

相关文章:

  • 【GESP】C++二级真题 luogu-b3924, [GESP202312 二级] 小杨的H字矩阵
  • 嵌入式硬件篇---数字电子技术中的触发器
  • 微信小程序登录获取用户openid,获取昵称、头像、手机号授权
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter20-JavaScript API
  • 简单说一下什么是RPC
  • 【数据结构】排序算法---直接插入排序(动图演示)
  • [通俗易懂C++]:指针和const
  • 数据库简史 |DBA的智能时代,从DeepSeek到DeepThink
  • io流—字节缓冲流,字节转换流
  • PySpark实现LEFT OUTER APPLY、CROSS JOIN和CROSS APPLY的功能
  • 编程小白冲Kaggle每日打卡(12)--kaggle学堂:<机器学习简介>模型如何工作
  • CSS基本选择器
  • RAG检索中使用一个 长上下文重排序器(Long Context Reorder) 对检索到的文档进行进一步的处理和排序,优化输出顺序
  • 【Gee】Day7:错误恢复
  • C++ Primer 顺序容器概述
  • 1200沿指令和取反指令的应用。
  • Vmware虚拟机Ubantu安装Docker、k8s、kuboard
  • vue3项目开发总结
  • 【Gin-Web】Bluebell社区项目梳理3:社区相关接口开发
  • python中轻量级 LLM 应用开发框架 Promptic 如何有效进行对话管理?