`

源码必备--图解UML类图(最易懂)

    博客分类:
  • UML
UML 
阅读更多

一张图看懂UML的类图图示样例: 


 

 

一、UML中类图符号解释

1.类(Class):使用三层矩形框表示。

第一层显示类的名称,如果是抽象类,则就用斜体显示。

第二层是字段和属性。

第三层是类的方法。

注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。我们的示意图中未列属性字段,因此画了两层.

2.接口:使用两层矩形框表示,与类图的区别主要是顶端有<<interface>>显示。

第一行是接口名称,第二行是接口方法。

接口还有一种表示方法,叫棒棒糖表示法,圆圈旁为接口名称:


 
 

3.泛化(Generalization),也就是继承(extends)关系:用空心三角形+实线来表示,是A is a B的关系。

下图中ExecutorService继承了Executor,也就是ExecutorService is a Executor。


 

4.实现(Realization),也就是实现接口(implements):用空心三角形+虚线来表示。下图中ScheduledThreadPoolExecutor实现了接口ScheduledExecutorService。



 

5.关联(Association):用 实线箭头 来表示,例如:企鹅与气候,图示表示和代码表示如下:


 

 
 

6.聚合(Aggregation):用 空心的菱形+实线箭头 来表示

聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,关系图和代码图示如下:



 

 
 

 

7、组合(Composition):用 实心的菱形+实线箭头 来表示

组合:部分和整体的关系,并且生命周期是相同的。关系图示和代码图示如下:



 

 

注意:这里包含基数的概念,连线两端的数字表明这一端的类可以有几个实例,比如,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的。 

 

8.依赖(Dependency):用 虚线箭头 来表示,关系图示与代码示例如下:



 

 
 

  • 大小: 177.8 KB
  • 大小: 60.5 KB
  • 大小: 23.8 KB
  • 大小: 50.6 KB
  • 大小: 36.5 KB
  • 大小: 31.2 KB
  • 大小: 44.5 KB
  • 大小: 54.2 KB
  • 大小: 52.9 KB
分享到:
评论

相关推荐

    spring源码全部uml类图

    在"spring源码全部uml类图"中,我们可以深入探讨Spring框架的内部结构和设计模式。 首先,Spring框架的核心组件包括IoC(Inversion of Control,控制反转)容器和AOP(Aspect-Oriented Programming,面向切面编程)...

    阿里巴巴Java代码规约插件UML类图

    UML类图是UML中最基础的图表之一,它用于描绘类的结构和类之间的关系,包括继承、关联、聚合、组合等。通过类图,开发者可以直观地理解系统的设计,便于代码的分析和重构。在Java开发过程中,UML类图可以帮助设计...

    app+java+源码-UMLDesignApplication:绘制UML类图,并生成相应的Java源代码

    +源码UML设计应用程序 UML Design Application是绘制UML类图的应用程序,它生成相应的Java源代码。 花费时间:总共花费20个小时 例子 执照 Copyright [2016] [Dan Choe] Licensed under the Apache License, Version...

    java源码uml-umlparser-cmpe202:从Java源代码生成UML类图

    java源码uml umlparser-cmpe202 从Java源代码生成UML类图。 UML解析器是我来自CMPE 202类的项目。 您可以从Java源代码创建类图。 在这里,我使用Java parser []库解析了Java源代码,并识别了关联,依赖关系。 此外,...

    uml 类图绘制工具 flash源码

    类图是UML中最基本且重要的图表类型之一,它描绘了系统中的类、接口以及它们之间的关系,帮助我们理解和设计复杂的软件结构。在Flash这一交互式矢量动画平台中,开发出能够绘制UML类图的工具,无疑为开发者提供了极...

    消息队列模型C++源码和UML类图

    本主题主要探讨的是一个C++实现的消息队列处理机制,包括消息注册模型,并提供了可编译的源码以及UML类图模型,帮助开发者理解其内部结构和交互。 首先,让我们深入理解消息队列的工作原理。消息队列是一种先进先出...

    UML类图及在代码上的表现形式

    类图是UML中最基本和最重要的图表之一,它有助于理解系统的静态结构。 ### 1. UML类图的基本元素 - **类(Class)**: 类是系统中具有相同属性、操作和关系的对象的抽象。在类图中,类通常用一个矩形表示,包含三个...

    argo uml类图

    argo源码uml类图,用rational rose打开

    java源码uml-Java-UML-parser:将Java源代码转换为UML类图的程序

    Java-UML-parser工具通过解析Java源码,识别出这些关键元素,并根据其结构生成对应的UML图表。 该工具的开源特性意味着它的源代码是公开的,任何人都可以查看、学习、修改和分发。这对于开发者来说是一个巨大的优势...

    cpp-C源代码自动分析工具得到UML类图和函数间调用关系网图

    UML类图是UML中最基本的图表之一,它展示了类的结构,包括类名、属性和方法,以及类之间的关系,如继承、关联和依赖等。通过将C++代码转化为UML类图,开发者可以直观地看到程序的类结构和它们之间的关系,这对于理解...

    常用设计模式UML类图

    《常用设计模式UML类图》 设计模式是软件工程中的宝贵经验总结,它们是针对常见问题的可重用解决方案。UML(统一建模语言)则是用来可视化这些设计模式的强大工具,它通过类图、对象图、序列图等方式帮助我们理解和...

    QQ-java源码-UML分析图-多人聊天2010

    QQ-java源码-UML分析图-多人聊天2010是一个关于模拟QQ聊天软件开发的项目,主要使用Java编程语言实现。在这个项目中,开发者通过观看韩顺平的教程视频,一边学习一边编写代码,最终在两天内完成了整个程序的构建。这...

    eclipse使用Architexa画UML类图

    Architexa插件允许开发者从源码中自动生成UML类图,这在理解和重构大型项目时非常有用。UML(统一建模语言)是一种标准的图形表示法,用于软件设计的建模和文档编制。类图是UML中的基本元素之一,它描绘了系统中类与...

    第三十一讲:UML类图(上)

    本讲将探讨UML类图,这是UML中最重要的图表类型之一,它用于描绘对象世界的静态结构和关系。我们将深入理解类图的概念、构成元素以及如何创建和解读。 类图是UML中的核心元素,它主要展示了类与类之间的关系,如...

    Myeclipse中把java代码导成UML类图

    NULL 博文链接:https://jarg.iteye.com/blog/1534723

    Eclipse插件,JAVA类反向生成UML类图AmaterasUML_1.3.4

    在Java开发过程中,理解代码结构和关系往往需要用到UML(统一建模语言)类图,AmaterasUML就是这样一个Eclipse插件,能够帮助开发者将已有的Java代码反向工程为UML类图,便于理解和设计。 标题中的"Eclipse插件,...

    java源码剖析-UMLparser:UMLParser通过对Java源代码的动态分析将Java源代码转换为UML类图和序列图

    java源码剖析使用Java的UML解析器:一种UML解析器,可将给定的Java源代码转换为 UML类图UML序列图要求:Internet连接(用于调用YUML RESTful API)Java JDK版本1.8 Javaparser PlantUML Maven指令:程序接受.zip...

    [#0x003B] UML类图之关联、聚合、组合、依赖

    关联是UML类图中最基本的关系,表示两个或多个类之间的结构关系。它描述了一类对象如何知道另一类对象的存在,通常通过类的实例变量来体现。关联可以是单向或双向的,也可以是多重的,表示一个类可以有多个其他类的...

    javauml源码-uml-parser:将Java源代码转换为UML图的解析器

    uml源码uml-generator-java 将Java源代码转换为UML图的解析器 编译指令 要求: Java JDK 1.8版 正常的互联网连接(仅用于类图) 该程序需要以下参数: 关键词: 一字串。 用于生成类图的“ class”和用于生成序列图...

    java源码uml-UML-Parser:该项目旨在将Java源代码转换为UML类图

    java源码uml UML解析器 CMPE202个人项目提交者:Pranjali Shrivastava(011549603)用于JavaParser的工具和库: eclipse 4.3(Kepler)Eclipse 4.3工具用于创建项目。 javaparser-1.0.8.jar库用于解析输入的Java文件...

Global site tag (gtag.js) - Google Analytics