UML类图
文章目录
概述
UML(Unified Modeling Language)统一建模语言,对于程序员来说接触比较多的就是类图了。在学习 UML
的时候没有好好学,导致后面许多别人画的类图看不懂,一些优秀的资料也看不懂,看到有 UML
的都会下意识的跳过,这样下去不行,所以回来学习 UML
相关知识。
类之间的关系
继承
继承表示的是某个东西是什么,例如:宝马是汽车。
在 Java
继承用 extends
来表示。
在 UML
中常用一个实线的空心箭头表示

实现
实现和继承类似,也是表示是什么的关系,通常会是抽象类。
在 Java
中实现用 implements
表示
在 UML
中常用一个虚线空心箭头表示

依赖
依赖表示某个对象在运行时需要用到另外一个对象。
在代码中通常作为函数的参数。
在 UML
中通常用虚线实心箭头表示,箭头指向被依赖者

关联
关联关系表示两个对象之间的关系,一个对象知道另一个,而且状态的变化不会影响到另一个。
在代码中通常以成员变量的形式存在。
在 UML
中通常用实线实心箭头表示,箭头指向被依赖者

聚合
聚合表示的是整体和部分的关系,但是部分可以脱离整体而独立存在。不是强依赖关系。
在代码中通常以成员变量的形式存在。
在 UML
中通常用实线空心菱形箭头表示,菱形指向整体

组合
组合表示的是整体包含部分的关系,也就是部分不能脱离整体而独立存在,整体不存在了部分也不存在,是一种强依赖的关系。
组合在代码中通常以成员变量的形式存在。
在 UML
中通常用实线实心菱形箭头表示,菱形指向整体

总结

UML
类图的知识点不多,但是比较容易搞混,图形长得特别像。这就导致了学习起来容易忘记,看到的时候会下意识的跳过不看。这样你会错过一个从整体去考虑事物的一个方法,你会花更多的时间和精力在这个地方,所以还是有必要学习 UML
的相关知识。
学习 UML
非常容易搞混,建议隔几天复习一次,这样慢慢记住并且强化。碰到一些开源库,可以自己画一画 UML
类图,这样可以加深印象。不要因为工作中用不到就不去学习这个强有力的工具。