龙空技术网

UML类图关系整理

红白黑羽 383

前言:

眼前各位老铁们对“java中的uml图”大体比较关心,兄弟们都需要了解一些“java中的uml图”的相关文章。那么小编也在网摘上搜集了一些有关“java中的uml图””的相关资讯,希望小伙伴们能喜欢,姐妹们快快来学习一下吧!

最近在看软件设计师的题,发现里面有好多UML图,很不是理解。整理了分享给大家。

该题中的图表示的是一组对象A和B,一对多的关系

UML概述(来自百度百科)

统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

(java程序员应该接触比较多,笔者以前是做C语言的)

下面我们看一张图:

UML类图

观察这张图,其左上角有说明,这是一张UML类图。

最上面是一个抽象类<<abstract>>,表示车是一个抽象类;

上图中共出现了六种关系,均已在图中标注。

实现关系(realize)

在代码中,实现关系是继承结构,继承抽象类。如下,小汽车和自行车继承抽象类车。

实现关系,继承抽象类

泛化关系(generalize)

泛化关系也是继承结构,表现为继承非抽象类。

泛化关系,继承非抽象类

聚合关系

聚合关系用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;

如:一个班级有很多个学生组成。

聚合关系

组合关系

组合关系用一条带实心菱形箭头直线表示。

如:小汽车是由轮胎和发动机组成。

组合关系

关联关系

关联关系是用一条直线表示的;

它描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的;它一般用来定义对象之间静态的、天然的结构; 所以,关联关系是一种“强关联”的关系;

比如,学生和身份证就是一种关联关系,学生和学校也是一种关联关系;

关联关系

关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;

关联关系(带箭头)

依赖关系

依赖关系是用一套带箭头的虚线表示的;

如下图表示A依赖于B;他描述一个对象在运行期间会用到另一个对象的关系;

如:学生要骑自行车去上学,学生依赖自行车。

依赖关系

谢谢。

标签: #java中的uml图