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)

相关推荐
weixin_515039793 分钟前
互联网大厂面试:程序员二狗的搞笑经历
java·学习·面试·程序员·互联网·技术·故事
py有趣6 分钟前
LeetCode算法学习之旋转矩阵
学习·算法·leetcode
黑客思维者16 分钟前
LLM底层原理学习笔记:上下文窗口扩展技术如何突破记忆瓶颈,解锁大模型的长文本理解力
笔记·学习·llm·长文本·上下文窗口
小奶包他干奶奶20 分钟前
Webpack学习——如何自定义钩子
前端·学习·webpack
摇滚侠23 分钟前
零基础小白自学 Git_Github 教程,Git 分支概念,笔记07
笔记·git·github
组合缺一39 分钟前
Solon AI 开发学习8 - chat - Vision(理解)图片、声音、视频
java·人工智能·学习·ai·音视频·solon
摇滚侠43 分钟前
零基础小白自学 Git_Github 教程,仓库的其它功能,笔记09
笔记·git·github
im_AMBER1 小时前
Canvas架构手记 07 状态管理 | 组件通信 | 控制反转
前端·笔记·学习·架构·前端框架·react
songyuc1 小时前
LangChain学习笔记
学习·langchain
Chunyyyen1 小时前
【第二十四周】代码问题解决记录+大模型学习
学习