目录

先看下面这张类图,包括了UML类图的基本图示法

1、类的表示

2、接口的表示

3、继承关系

4、实现接口

5、关联关系

6、聚合关系

7、合成(组合)关系

8、依赖关系


先看下面这张类图,包括了UML类图的基本图示法

1、类的表示

首先看那个‘动物’矩形框,它就代表一个类(Class)。 类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号,‘+' 表示public, '-' 表示private,“#' 表示protected.”

2、接口的表示

然后注意左下角的‘ 飞翔’,它表示一个接口图,与类图的区别主要是顶端有《interface》显示。第一行是接口名称,第二行是接口方法。接口还有另种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了‘讲人话’的接口。

3、继承关系

继承关系:使用 空心三角形 + 实线 表示

4、实现接口

实现接口:使用 空心三角形 + 虚线 表示

5、关联关系

企鹅需要“知道” 气候的变化。当一个类“知道” 另一个类的时候,可以使用关联。关联关系用实线箭头表示。

(在“企鹅”类中有一个属性为“气候”对象)

6、聚合关系

我们再来看大雁与雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁群可以有多只大雁。所以它们之间就满足聚合(Aggregation) 关系聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用 空心的菱形 + 实线箭头 来表示。”

7、合成(组合)关系

合成(Composition,也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样[DPE]。在这里鸟和其翅膀就是合成(组合)关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形+实线箭头来表示。另外,你会注意到合成关系的连线两端还有一个数字'1' 和数字‘2', 这被称为基数。表明这一端的类可以有几个实例,很显然,一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n'来表示。关联关系、聚合关系也可以有基数的。

8、依赖关系

动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖于氧气和水。他们之间是依赖关系(Dependency),用虚线箭头来表示。

uml类图例子_五分钟带你读懂UML类图相关推荐

  1. 五分钟学会python函数_五分钟带你搞懂python 迭代器与生成器

    前言 大家周末好,今天给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法.对于获取数据的方法而言,我们会一种就 ...

  2. 优先队列默认是小顶堆吗_一分钟带你读懂什么是堆?

    堆其实就是一种特殊的队列--优先队列. 普通的队列游戏规则很简单:就是先进先出:但这种优先队列搞特殊,不是按照进队列的时间顺序,而是按照每个元素的优先级来比拼,优先级高的在堆顶. 这也很容易理解吧,比 ...

  3. 一分钟带你看懂UML图

    一分钟带你看懂UML图 小小demo package Test;/*** @Description:* @ProjectNmae: demo1* @PackageName: Test* @ClassN ...

  4. 三分钟带你读懂 BERT

    本文为 AI 研习社编译的技术博客,原标题 : BERT Technology introduced in 3-minutes 作者 | Suleiman Khan, Ph.D. 翻译 | 胡瑛皓.s ...

  5. java ee 值范围_一篇文章带你读懂: Java EE

    原标题:一篇文章带你读懂: Java EE 点击上图,查看教学大纲 何为 Java EE Java EE是一个标准中间件体系结构 不要被名称"Java PlatformEnterprise ...

  6. 干货:五分钟带你看懂NestedScrolling嵌套滑动机制

    Android NestedScrolling嵌套滑动机制 Android在发布5.0之后加入了嵌套滑动机制NestedScrolling,为嵌套滑动提供了更方便的处理方案.在此对嵌套滑动机制进行详细 ...

  7. elm分类器功能_一文带你读懂线性分类器

    本文为 AI 研习社编译的技术博客,原标题 : Linear Classifier 作者 | Thomas Pernet 翻译 | 邓普斯•杰弗.涂世文.Disillusion 校对 | 邓普斯•杰弗 ...

  8. au加载默认的输入和输出设备失败_一文带你读懂 C/C++ 语言输入输出流与缓存区...

    (给CPP开发者加星标,提升C/C++技能) 作者:技术让梦想更伟大 / 李肖遥 (本文来自作者投稿) 前言 有没有发现,基本上所有的C语言入门书籍,或者是我们的教程里面,第一个C语言程序实体,都是& ...

  9. uml类图例子_转:(中文命名)UML类图新手入门级介绍

    下文转于 2019-05-10.2020-03-10 发觉本出自2007 年出版的<大话设计模式>一书(作者: 程杰)第一章.于是将文末原链接删去. 转载注: 中文命名的优势在UML图这样 ...

最新文章

  1. (转载)php array_merge 和 两数组相加区别
  2. Java二叉树的构建与遍历
  3. Gitflow branch与Docker image tag命名冲突怎么办?
  4. js中==和===的区别
  5. Spring自学日志01
  6. AVCHD格式转换为MP4格式的办法
  7. GB28181国标错误码
  8. 关于 idea 快捷键 alt + f7 无法使用的一些尝试
  9. access订单明细表怎么做_图书销售订单明细表
  10. 鼠标自动点击器linux,鼠标自动点击器PC版下载
  11. 中登TA、自TA、分TA
  12. 【Linux】Ubuntu18.04安装微信和QQ【2022】
  13. 基本面分析 ≠ 基本面量化投资?
  14. latex公式换行后保证括弧大小相同
  15. js中php遍历数组,vue.js如何遍历数组
  16. 如何检测隐藏在Magisk背后的ROOT及外挂
  17. 多属性决策模型 matlab代码及例子
  18. ndk开发教程,Android工程师面试该怎么准备?真香!
  19. javaFX创建一个弹出窗口
  20. Web server failed to start. Port 8082 was already in use.

热门文章

  1. python下载url链接_使用Python从url地址下载所有pdf文件
  2. java 程序是由什么组成的 java_【问答题】一个典型的JAVA程序结构是由什么组成。...
  3. flow hive 新型蜂箱_全新Flow Hive 2使得养蜂人获取蜂蜜更轻松
  4. mysql_query 变量,在mysql_query字符串中使用PHP变量
  5. Spring AOP之注解配置篇
  6. pageContext对象、JSP标签
  7. php 获取当前url hash,PHP hash 接口对接
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的博客系统
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的服装商城
  10. 基于JAVA+SpringMVC+MYSQL的在线考试系统