Java|UML类图的六大关系,最佳学习理解方式

UML 是什么?
比较官方的描述是这样的:

UML(Unified Modeling Language)是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。

而我的描述:

UML算是 研发与非研发之间的其中一种对于业务设计的 沟通方式。

而且,在写代码之前, 设计肯定是先行的。

没有经过思考写出来的代码...是没有含思量的。


类图结构
Java|UML类图的六大关系,最佳学习理解方式
文章图片


接口图结构
Java|UML类图的六大关系,最佳学习理解方式
文章图片


UML类图 的 六大关系
继承、实现、组合、聚合、关联、依赖

每种关系都有自己的表示方式,也就是 线 + 箭头 组成

专业的线和箭头
Java|UML类图的六大关系,最佳学习理解方式
文章图片


专业的符号
属性和方法前面的“+”、“-”和“#”表示访问级别:

+:public

-:private

#:protected


结合实例、简图 学习
继承关系
类跟类之间的继承关系,大家肯定不陌生,父子关系,子继承父。
【Java|UML类图的六大关系,最佳学习理解方式】
图示:

Java|UML类图的六大关系,最佳学习理解方式
文章图片


实现关系
类跟接口之间的实现关系,大家肯定也不陌生。

图示:

Java|UML类图的六大关系,最佳学习理解方式
文章图片


聚合关系
体现的是A对象(学校)可以包含B对象(老师、学生),但B对象不是A对象的一部分。
老师、学生,如果学校不存在了,他们还是可以单独存在。
聚合表示一种弱的‘拥有’关系。

图示 :

Java|UML类图的六大关系,最佳学习理解方式
文章图片

组合关系
体现的是 A对象(凤凰)可以包含B对象 (翅膀、爪子等)。A作为整体, B作为部分。
如果A没了,B也就没了。 凤凰没了, 它的翅膀也是相当于没了。
整体和部分有一致的生命周期。
组合表示一种强的‘拥有’关系。

图示 :

Java|UML类图的六大关系,最佳学习理解方式
文章图片



关联关系
关联关系,显然就是存在 类和类之间都有关联,那就是 双向奔赴 双向关联。
好比如,学生和老师之间的关联, 学生关联多个老师,老师也可以管理多个学生。

那当然也是有单向关联, 也就是学生关联多门课程, 但是课程是没法主动关联学生的。

其实,还有自己关联自己,自关联。

图示:
Java|UML类图的六大关系,最佳学习理解方式
文章图片


依赖关系
其实有点点类似关联关系,但是 依赖关系有个非常个性的特点,
就是 某个类的方法使用另一个类的对象作为参数。

图示:

Java|UML类图的六大关系,最佳学习理解方式
文章图片




好了,该篇就到这。


    推荐阅读