UML学习笔记

前言

UML(Unified Modeling Language)是一种对软件密集系统进行可视化建模的一种语言。有了图后来就可以一目了然。

C++中有好多继承图,我都看不懂,所以就来学习一波~

  • -代表私有(private)的
  • +表示公共(public)的
  • #表示受保护的(pretected)
  • ~表示 package/default 在哪个包里面吗

继承(Generalization)

这里面的继承关系也被称为泛化(Generaliztion) ,指定了子类是如何特化父类的所有特征和行为的。

【语法】:空心三角形+实线,指向父类

  • 抽象基类的名用斜体
  • 类有:
    • 类名(class name)
    • 属性(properties)
    • 方法(method)

关联(Association)

表示一种拥有的关系,老虎拥有羊肉,老师拥有多个学生。也可以是双向的,学生也可以拥有多个老师。

【语法】:普通箭头+实线(或者是一根实现没箭头也可以) 指向被拥有者

聚合(Aggregation)

整体和部分的关系,part部分可以离开整体而单独存在

【语法】:带有空心菱形+普通箭头的实心线,菱形指向整体

组合(Composition)

整体和部分的关系,part部分不能离开整体作为一个单独存在。

【语法】:带有实心菱形+普通箭头的实心线,菱形指向整体

参考文章:

UML类图几种关系的总结

UML类图基本语法,这都看不懂就放弃学UML吧~

视频:

教你怎么画类图(Class Diagram)

相关推荐
im_AMBER12 分钟前
Canvas架构手记 08 CSS Transform | CSS 显示模型 | React.memo
前端·css·笔记·学习·架构
组合缺一16 分钟前
Solon AI 开发学习17 - generate - 使用复杂提示语
java·学习·ai·llm·solon·mcp
心动啊12116 分钟前
简单学习下redis
数据库·redis·学习
松莫莫23 分钟前
Spring Boot 整合 MQTT 全流程详解(Windows 环境)—— 从 Mosquitto 安装到消息收发实战
windows·spring boot·后端·mqtt·学习
知识分享小能手29 分钟前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 中的 Shell 编程 —语法详解与实战案例(11)
linux·学习·centos
烤麻辣烫39 分钟前
黑马大事件学习-15(前端登录页面)
前端·css·vue.js·学习·html
Hacker_Z&Q39 分钟前
HTML5笔记3 (表格、表单、H5新标签)
笔记
葱卤山猪40 分钟前
【Qt】 TCP套接字通信学习文档
qt·学习·tcp/ip
数据门徒43 分钟前
《人工智能现代方法(第4版)》 第11章 自动规划 学习笔记
人工智能·笔记·学习