在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。建模工具也主要根据类图来产生代码。类图在UML的9个图中占据了一个相当重要的地位。James Rumbaugh对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。接口在类图中通过版型来表示<<interface>>

类的UML表示

类的命名尽量应用领域中的术语,应明确、无岐义,以利于相互交流和理解。类的属性、操作中的可见性使用+、#、-分别表示public、protected、private。

在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

2.1泛化

介绍:

泛化(Generalization)表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系

(1)继承

介绍:

继承表示是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。

表示方法:

继承使用空心三角形+实线表示。

示例:

鸟类继承抽象类动物

 

继承关系

(2)实现

介绍:

实现表示一个class类实现interface接口(可以是多个)的功能。

表示方法:

1)矩形表示法

使用空心三角形+虚线表示

比如:大雁需要飞行,就要实现飞()接口

 

矩形表示法

2)棒棒糖表示法

使用实线表示

 

棒棒糖表示法

2.2依赖

介绍:

对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。

表示方法:

依赖关系用虚线箭头表示。

示例:

动物依赖氧气和水。调用新陈代谢方法需要氧气类与水类的实例作为参数

 

依赖关系

2.3关联

介绍:

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。

表示方法:

关联关系用实线箭头表示。

示例:

企鹅需要‘知道’气候的变化,需要‘了解’气候规律。当一个类‘知道’另一个类时,可以用关联。

 

关联关系

2.4聚合

介绍:

表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期

表示方法:

聚合关系用空心的菱形+实线箭头表示。

示例:

每一只大雁都属于一个大雁群,一个大雁群可以有多只大雁。当大雁死去后大雁群并不会消失,两个对象生命周期不同。

 

聚合关系

2.5组合

介绍:

组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样

表示方法:

组合关系用实心的菱形+实线箭头表示,还可以使用连线两端的数字表示某一端有几个实例。

示例:

鸟和翅膀就是组合关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。

 

组合关系

Java UML类图的更多相关文章

  1. Myeclipse中把java代码导成UML类图

    Myeclipse中把java代码导成UML类图 1.右键点击项目名称,选择New-------àUML2 Model 2.给类图命名 3.导成类图 1)如果要把整个项目导成类图,则把整个项目拖到类图 ...

  2. 从 Java 代码逆向工程生成 UML 类图和序列图

    from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Sof ...

  3. Visio画UML类图、序列图 for Java

    参考文档: 1.百度搜索: 怎样用Visio 2007画C++类图 连接 https://jingyan.baidu.com/article/9f7e7ec07286e16f281554f7.html ...

  4. Java开发设计——UML类图

    Java开发设计——UML类图 摘要:本文主要介绍了UML类图的相关知识. 简介 在UML中,类使用包含类名.属性和操作且带有分隔线的长方形来表示,类图分为三层. 第一层是类的名称,如果是抽象类或接口 ...

  5. 用MyEclipse将java文件转换成UML类图

    用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客  http://blog.csdn.net/dan ...

  6. 图解Java设计模式之UML类图

    图解Java设计模式之UML类图 3.1 UML基本介绍 UML图 UML类图 3.1 UML基本介绍 1)UML – Unified modeling language UML(统一建模语言),是一 ...

  7. 【设计模式】UML类图及Java的类之间的关系

    UML类图展示 设计模式中的对象关系 关联和依赖的对比 依赖关系 虚线箭头 依赖是a类成员方法中有b类的属性,动物新陈代谢方法中有水和空气的属性,只有调这个方法的时候,才可能临时用一下 关联关系 实线 ...

  8. java设计模式--UML类图

    2016-06-07 22:46:16 下面简单介绍UML类图:(图是截取的,大家可以用UML工具去画) 1.描述类的类图 类:Person 属性:name   age   sex 访问权限:-  表 ...

  9. Java 大黑话讲解设计模式 -- UML类图

    目录 1.啥是UML类图? 2.UML类图有啥用? 3.正式理解UML类图 4.使用idea画第一个UML类图 5.类之间的关系图[必须牢记] 6.类之间的关系 6.1.依赖 6.2.泛化 6.3.实 ...

  10. UML类图(下):关联、聚合、组合、依赖

    前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...

随机推荐

  1. RC4Drop加密:提升数据保护的新选择

    摘要:RC4Drop是一种基于RC4算法的加密技术,通过将明文数据分成多个部分并进行加密,实现了对数据的高效保护.本文将对RC4Drop加密技术的优缺点进行详细分析,并给出一个Java完整demo示例 ...

  2. Git的使用(一):创建本地仓库并在其中添加、修改、删除文件

    创建本地版本库 版本库又名仓库,英文名repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者 ...

  3. vim 从嫌弃到依赖(19)——替换

    之前讨论了关于在vim中使用正则表达式的相关知识能方便的进行搜索,现在在之前的基础之上继续来讨论如何进行替换操作. substitute 简介 substitute 允许我们先查找一段文本并用新的文本 ...

  4. 8.5 CheckRemoteDebuggerPresent

    CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用.函数接收两个参数进程句柄和一个指向布尔值的指针.如果指定的进程正在被调试,则函数 ...

  5. 每日一道Java面试题:说一说Java中的泛型?

    写在开头 今天的每日一道Java面试题聊的是Java中的泛型,泛型在面试的时候偶尔会被提及,频率不是特别高,但在日后的开发工作中,却是是个高频词汇,因此,我们有必要去认真的学习它. 泛型的定义 什么是 ...

  6. IntPtr 来把指针转换为 Int

    由于想得到指针的值,这个时候,不能把指针强制转换为 integer 因为 integer 只适合32位的系统,64位的系统下,需要用 int64, 通过这个函数来转换,就可以屏蔽掉系统是32位 还是 ...

  7. 《ASP.NET Core 微服务实战》-- 读书笔记(第7章)

    第 7 章 开发 ASP.NET Core Web 应用 ASP.NET Core 基础 在本章,我们将从一个命令行应用开始,并且在不借助任何模板,脚手架和向导的情况下,最终得到一个功能完整的 Web ...

  8. 在.NET Core下的机器学习--学习笔记

    摘要 .NET Core 在机器学习的应用场景,除了 ML .NET 还会介绍一个非常棒的開源技術 TensorFlow .NET , Keras .NET. 讲师介绍 本课内容 人工智能介绍 ML ...

  9. 吉特日化MES & 日化制药工厂信息化系统架构图

    作者:情缘   出处:http://www.cnblogs.com/qingyuan/ 关于作者:从事仓库,生产软件方面的开发,在项目管理以及企业经营方面寻求发展之路 版权声明:本文版权归作者和博客园 ...

  10. 2023 CSP-J/S游记

    8.14 打了场 luogu 的 \(SCP\) ,给打没信心了. 8.16 普及模拟1 8.19 普及模拟2 8.22 普及模拟3 9.5 二调讲评结束后,和班主任说了考 \(CSP\) 的事情,就 ...