`

源码必备--图解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
分享到:
评论

相关推荐

    AOP流程源码分析-SpringAOP中定义的类图

    AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析-SpringAOP中定义的类图AOP流程源码分析...

    spring源码全部uml类图

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

    ROSE画图--UML类图关系大全.doc

    本篇文章将深入探讨ROSE工具如何用于绘制UML类图及其包含的各种关系,结合文档“ROSE画图--UML类图关系大全.doc”,我们将详细解析UML类图中的关键概念和关系。 首先,UML类图是描述系统静态结构的一种模型,它通过...

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

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

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

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

    ModelGoon-4.4.1-生成java类图eclipse插件

    类图(Class Diagram)是统一建模语言(UML)中的一种图表,用于描绘类、接口、继承关系、实现关系以及它们之间的各种关联。在Java开发中,类图对于理解和设计复杂的系统尤其有用,因为它能够清晰地展示类与类之间的...

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

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

    UML类图

    "软件设计起步:画UML类图 - 源码工作室 - 博客园.htm"这篇文章可能提供了更多关于如何使用UML工具绘制类图的详细步骤和实例,包括如何创建类、设置属性和操作、建立关联和继承等。配合博客园提供的资源文件,你可以...

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

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

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

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

    eclipse使用Architexa画UML类图

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

    Myeclipse中把java代码导成UML类图

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

    Android小游戏-9宫格类图类图

    Android小游戏-9宫格类图类图,配合源码、 请用EA(Enterprise Architect)打开

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

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

    能简单的方便的创建UML类图,完全支持C#和Java。

    标题和描述中提到的工具显然是一款名为"NClass"的软件,它主要用于方便地创建UML(统一建模语言)类图,并且全面支持C#和Java这两种编程语言。UML是一种标准化的建模语言,用于可视化和理解软件系统的设计,包括类、...

    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...

    java源码uml-JavaScript-UML-Generator:从JavaScript(ES6)源代码文件(js2uml)生成UML类图

    JavaScript-UML-Generator 创建并激活虚拟环境: $ python -m venv venv $ source venv/bin/activate # OR venv\Scripts\Activate.ps1 for windows/PS (.bat for terminal) 安装Python软件包依赖项: $ pip install ...

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

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

    C++文件操作-图书馆管理系统UML课程Qt开发源码.zip

    C++文件操作-图书馆管理系统UML课程Qt开发源码.zipC++文件操作-图书馆管理系统UML课程Qt开发源码.zipC++文件操作-图书馆管理系统UML课程Qt开发源码.zipC++文件操作-图书馆管理系统UML课程Qt开发源码.zipC++文件操作-...

    java源码uml-tags2uml:从源代码生成UML类图。对于ctags支持的所有面向对象语言,通过GraphvizDOT从Exubera

    java源码uml 标签2uml 从源代码生成 UML 类图 概述 用于将 ctags 支持的所有面向对象语言从标记文件转换为 , 到 的命令行工具 输入文件是一个标签文件,由--fields==+latinK -ctags 使用--fields==+latinK 。 输出...

Global site tag (gtag.js) - Google Analytics