关注「Java视界」公众号,获取更多技术干货

你真的知道UML类图吗?

目录

一、类

二、接口

三、继承

四、接口实现

五、关联关系

六、聚合关系

七、组合关系

八、依赖关系


UML类图大家可能都知道,如果要画某段代码的UML类图,大家应该都画得出来。

但是画出来是一回事,画得规不规范又是另一回事,假如面试的时候人家让你画个策略模式或者模板模式的UML类图,一看你画得一点都不规范,那就影响你高大的形象了。

先看个总图,然后我们再详细看局部以及怎样表述它们之间的关系:

一、类

这个表示一个类,这个类图分三层,第一层是类名(抽象类则用斜体表示);第二层是显示类包含的属性;第三层是这个类的行为,也就是包含的方法。

并且 “+” 表示public,“-” 表示private,“#”表示protected。

二、接口

这个表示一个接口图,与类图的区别是第一层不仅有名称还有个 <<interface>>,第二层表示接口方法。 

接口还有一种表示方法——棒棒糖表示法:

圆圈旁边是接口名称。

三、继承

上面表示的是继承关系,用 “空心三角形+实线” 表示。(继空三实)

四、接口实现

上面表示的是接口实现关系,用 “空心三角形+虚线” 表示。(接空三虚)

五、关联关系

燃气汽车需要知道气罐里还有多少气,一个类要知道另一个类,就是关联关系。这种关系在UML中,使用 “实线 + 箭头” 来表示。(关联实箭)

六、聚合关系

聚合表示一种弱的“拥有”关系。

体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

UML类图中用“空心菱形+ 实线+箭头”表示。(聚空菱实箭)

七、组合关系

组合是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。

组合关系用“实心菱形 + 实线箭头”表示。(组实菱实箭)

两端的数字“1”、“2”称为基类,表示这一端的类可以有几个实例。若一个类会有无数个实例,用n表示。

关联关系、聚合关系都可以有基数。

八、依赖关系

依赖关系用“虚线 + 箭头”表示。(依赖虚箭)

小结:

UML类图看起来简单,实际有很多小细节,但正是这些小细节能让大家更深刻的理解面向对象的概念,理解各对象之间的关系,对我们设计出优秀的类有很大的帮助。可以在遇到较复杂的业务时,去画下它的UML类图,更深刻更好的完成开发任务。

posted @ 2022-06-25 14:02  沙滩de流沙  阅读(42)  评论(0编辑  收藏  举报

关注「Java视界」公众号,获取更多技术干货