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)

相关推荐
老王熬夜敲代码1 小时前
C++万能类:any
开发语言·c++·笔记
智者知已应修善业1 小时前
【数组删除重复数据灵活算法可修改保留重复数量】2024-3-4
c语言·c++·经验分享·笔记·算法
羊群智妍2 小时前
领跑2026 GEO赛道:SHEEP-GEO登顶十大检测平台,解锁品牌AI可见性最优解
笔记·百度·微信·facebook·新浪微博
QT 小鲜肉2 小时前
【Linux命令大全】002.文件传输之uupick命令(实操篇)
linux·运维·服务器·chrome·笔记
QT 小鲜肉3 小时前
【Linux命令大全】003.文档编辑之colrm命令(实操篇)
linux·运维·服务器·chrome·笔记
自不量力的A同学3 小时前
Doris Catalog
笔记
QT 小鲜肉3 小时前
【Linux命令大全】002.文件传输之uucico命令(实操篇)
linux·运维·服务器·chrome·笔记·github
玄同7653 小时前
我是如何开发项目的?——从 “踩坑思维” 到 “工程化能力”:编程学习的进阶方法论(万字版)
开发语言·人工智能·经验分享·笔记·python·学习·课程设计
●VON3 小时前
影像之眼:人工智能如何重塑医学诊断的边界
人工智能·学习·von
暗流者3 小时前
ctf wiki中kernel pwn 学习编译内核(2026年最新版)
学习·安全·网络安全·pwn