1 类图简介

类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法
类图中的“类”与面向对象面向对象面向对象语言中的“类”的概念是对应的,它用来描述系统中的有意义的概念,包括具体的概念、抽象的概念、实现方面的概念等,是对现实世界中的事物的抽象。
类图是其它图的基础。我们可以在类图的基础上,使用状态图、协作图、组件图和配置图等。
类图的主要作用有:
(1)对系统的词汇进行建模
(2)对简单的协作进行建模
(3)对逻辑数据库模式进行建模
类图主要由类、接口和各种关系组成。
关系主要包括泛化关系、依赖关系、关联关系和实现关系。

2 类图基本图

先看一个基本的类图:

2.1 类

三个格子从上至下分别表示:

  • 类名称(如果是接口,就使用斜体表示)
  • 类的特性(一般是类的字段和属性,可以没有)
  • 类的操作(一般是类的方法或行为)

访问权限:

  • “+”表示public
  • “-”表示private
  • “#”表示protected

其他关键字:

  • 下划线表示static
  • 斜体表示abstract

冒号(:)

  • 表示成员变量类型
  • 表示方法返回值

等号 (=)

  • 表示默认值

方法的参数表示与类成员变量表示方法完全相同

2.2 接口


接口的两种表现方式:

  • 圆圈,比较直观,不方便表示接口内的方法
  • 名字上带有interface,方便表示接口方法

3 类之间的关系

3.1 泛化关系 (generalization)

[泛化关系] 泛化是继承关系的一种,子类继承父类的所有行为和属性,子类可以新增新的功能或者重写父类功能。
[箭头指向] 带三角箭头的实线,箭头指向父类
[代码表现] 最典型的就是extend

3.2 实现关系(realization)

[实现关系] 是一种类与接口的关系,表示类是接口所有特征和行为的实现。
[箭头指向] 带三角箭头的虚线,箭头指向接口或者是直线连接圆圈
[代码表现] 最典型的就是implements

3.3 关联关系 (association)

[关联关系] 是一种拥有的关系,它使一个类知道另一个类的属性和方法。它体现的两个类中一种强依赖关系,比如我和我的朋友,这种关系比依赖更强,不存在依赖关系中的偶然性,关系也不是临时的,一般是长期性的。

关联关系分为单向关联和双向关联:
单向关联表现为:类 A 当中使用了 类 B,其中类 B 是作为类 A 的成员变量。
双向关联表现为: 类 A 当中使用类 B 作为成员变量,同时类 B 中也使用了类 A 作为成员变量

[箭头指向] 带普通箭头的实心线,箭头指向被拥有者
[代码表现] 成员变量

3.4 聚合关系 (Aggregation)

[聚合关系] 聚合关系是关联关系的一种,耦合度强于关联。是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以单独存在。
[箭头指向] 带空心菱形的实心线,菱形指向整体
[代码表现] 成员变量

3.5 组合关系 (composition)

[组合关系] 整体与部分的关系,但部分不能离开整体而单独存在
[箭头指向] 带实心菱形的实心线,菱形指向整体
[代码表现] 成员变量

3.6 依赖关系 (dependency)

[依赖关系] 是一种使用的关系,即一个类的实现需要另一个类的协助,所以尽量不要使用双向的互助依赖。
[箭头指向] 带虚线的箭头
[代码表现] 最典型的就是import

[UML] --- 类图相关推荐

  1. 最全Pycharm教程(43)——Pycharm扩展功能之UML类图使用 代码结构

    版权声明:本文为博主原创文章,转载时麻烦注明源文章链接,谢谢合作 https://blog.csdn.net/u013088062/article/details/50353202 1.什么是UML ...

  2. idea添加database插件_IDEA高级玩法:集成JIRA、UML类图插件、SSH、FTP、Database管理......

    优质文章,第一时间送达 上一篇: 下一篇:(已修复) 作者: 菩提树下的杨过 出处: http://yjmyzz.cnblogs.com dea还有很多高大上的功能,易用性几乎能与vs.net媲美,反 ...

  3. UML类图新手入门级介绍

    UML类图新手入门级介绍 看了大话设计模式,觉得很生动形象,比较适合于我这种初学者理解面向对象,所以就记录了一下. 举一个简单的例子,来看这样一副图,其中就包括了UML类图中的基本图示法. 首先,看动 ...

  4. 从零开始单排学设计模式「UML类图」定级赛

    阅读本文大概需要 3.5 分钟. 本篇是设计模式系列的开篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统. 所以现在打算重写,加上距离现在也有一段时间了, ...

  5. IDEA高级用法:集成JIRA、UML类图插件、SSH、FTP、Database管理...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:菩提树下的杨过   出处:http://yjmyzz.cnb ...

  6. UML类图关系大全 and 报表的基本用法

    UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法. 在 GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描 ...

  7. VS 2010 通过 Architecture创建UML类图设计

    [赛迪网报道]类是对应用领域或应用解决方案中概念的描述.类图以类为中心进行组织,类图中的其他元素或属于某个类,或与类相关联.类也是对象的集合,展示了对象的结构及与系统交互的行为,其目的是显示建模系统的 ...

  8. java uml 类图 加号_UML建模基础 UML类图的组成元素和关系解析

    本文和大家重点讨论一下在UML建模中UML类图的java代码表现,主要包括UML类图元素和关系两大部分内容,相信通过本文的介绍你对UML类图的概念一定会与明确的认识. 在UML建模中UML类图的jav ...

  9. UML类图与类的关系

    内容概要 UML类图介绍 类之间的关系 泛化与实现 关联 依赖 类之间的关系 泛化与实现 关联 依赖 1111 1111-1 1111-2 222 UML类间关系有泛化(Generalization) ...

  10. uml 类图_UML 类图

    UML 类图基本符号 UML 类图基本符号含义 1.类(Class):一般是用三层矩形框表示,第一层表示类的名称,第二层表示的是字段和属性,第三层则是类的方法.第一层中,如果是抽象类,需用斜体显示. ...

最新文章

  1. BZOJ2038 小Z的袜子(hose)
  2. 口罩能否反复使用?浸盐水后可100%让H1N1病毒灭活,但对其他病毒需谨慎 | 《科学报告》期刊...
  3. 计算机网掉了,非常急电脑掉网我电脑上上网就会自己掉网不显示网络断开但一切有关上 爱问知识人...
  4. C++继承中构造和析构顺序
  5. postgresql9.5 run 文件linux安装后配置成开机服务
  6. Linux /proc/pid目录下相应文件的信息说明和含义
  7. numpy 矩阵乘法_NumPy 运算规则总结
  8. CherryPy上传文件
  9. VSTO安装卸载方法
  10. 简易版双人对战五子棋
  11. 20分钟让你阅读速度提高3倍
  12. C语言自定义函数使用
  13. 二十一世纪大学英语读写教程学习笔记(原文)——10 - Cloning: good Science or Baaaad Idea(克隆技术是好科学还是馊主意)
  14. 华为计算机主板,华为鲲鹏920台式机主板亮相:性能配置都亮眼
  15. java中北大学ppt总结+课后习题第三章(小宇特详解)
  16. 数智化升级:红蜻蜓的转型之路(上)
  17. 将windows 8安装到U盘随身带!
  18. 基于Python语言量化金融分析师AQF实训项目
  19. VMware vSphere 5 HA详解 (part1)
  20. xp php mysql_WindowsXP+IIS+PHP5+MySQL5+Zend+GD库+phpMyAdmin+PHPW

热门文章

  1. ajax java 图片加载_如何用Ajax加载服务器的图片
  2. C++中string的常用函数总结
  3. html简易颜色选择器,HTML颜色选择器实现代码
  4. 公安备案教程(完整版)
  5. 【漏洞复现】海康威视iVMS综合安防系统任意文件上传漏洞复现 (在野0day)
  6. Hkey Video Hacker
  7. 【论文笔记】SPAN: Spatial Pyramid Attention Network for Image Manipulation Localization
  8. 无监督去雨论文(二):Unsupervised Single Image Deraining with Self-supervised Constraints
  9. 拒绝字面意思的忽悠:scheduleWithFixedDelay与scheduleAtFixedRate的真正区别
  10. 软考高项:项目质量管理真题及答案