你真的知道UML类图吗?
目录
UML类图大家可能都知道,如果要画某段代码的UML类图,大家应该都画得出来。
但是画出来是一回事,画得规不规范又是另一回事,假如面试的时候人家让你画个策略模式或者模板模式的UML类图,一看你画得一点都不规范,那就影响你高大的形象了。
先看个总图,然后我们再详细看局部以及怎样表述它们之间的关系:
一、类
这个表示一个类,这个类图分三层,第一层是类名(抽象类则用斜体表示);第二层是显示类包含的属性;第三层是这个类的行为,也就是包含的方法。
并且 “+” 表示public,“-” 表示private,“#”表示protected。
二、接口
这个表示一个接口图,与类图的区别是第一层不仅有名称还有个 <<interface>>,第二层表示接口方法。
接口还有一种表示方法——棒棒糖表示法:
圆圈旁边是接口名称。
三、继承
上面表示的是继承关系,用 “空心三角形+实线” 表示。(继空三实)
四、接口实现
上面表示的是接口实现关系,用 “空心三角形+虚线” 表示。(接空三虚)
五、关联关系
燃气汽车需要知道气罐里还有多少气,一个类要知道另一个类,就是关联关系。这种关系在UML中,使用 “实线 + 箭头” 来表示。(关联实箭)
六、聚合关系
聚合表示一种弱的“拥有”关系。
体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
UML类图中用“空心菱形+ 实线+箭头”表示。(聚空菱实箭)
七、组合关系
组合是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
组合关系用“实心菱形 + 实线箭头”表示。(组实菱实箭)
两端的数字“1”、“2”称为基类,表示这一端的类可以有几个实例。若一个类会有无数个实例,用n表示。
关联关系、聚合关系都可以有基数。
八、依赖关系
依赖关系用“虚线 + 箭头”表示。(依赖虚箭)
小结:
UML类图看起来简单,实际有很多小细节,但正是这些小细节能让大家更深刻的理解面向对象的概念,理解各对象之间的关系,对我们设计出优秀的类有很大的帮助。可以在遇到较复杂的业务时,去画下它的UML类图,更深刻更好的完成开发任务。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!