常用 UML 类图
一. 类
类图分三层:
第一层是类的名称,如果是抽象类,则用斜体显示。
第二层是类的特性,通常就是字段和属性。
第三层是类的操作,通常是方法或行为。注意 '+' 表示 public,'-' 表示 private,'#' 表示 protected 。

- class Animal
- {
- public:
- void eat();
- void birth();
- public:
- bool lief;
- };
二. 继承关系
继承关系用 空心三角 + 实线 来表示。

三. 聚合关系
聚合关系表示一种 弱 的 “拥有” 关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
聚合关系用 空心的菱形 + 实线 箭头来表示。

- //大雁
- class WideGoose
- {
- };
- //雁群
- class WideGooseAggregate
- {
- private:
- WideGoose arrayWideGoose[];
- };
注:用代码表示就是,类里面有类。
四. 组合关系
组合是一种 强 的 “拥有” 关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
组合关系用 实心的菱形 + 实线箭头 来表示。

- //翅膀
- class Wing
- {
- };
- //鸟
- class Bird
- {
- public:
- Bird()
- {
- m_wing = new Wing;
- }
- private:
- Wing* m_wing;
- };
注:在构造函数里,实例化,两者同时生成。
五. 依赖关系
用虚线箭头来表示。

- class Animal
- {
- public:
- void Metabolism(Oxygen oxy, Water wat)
- {
- }
- };
六. 关联关系
关联关系用实线箭头来表示。

七. 实现接口
用实心三角形+ 虚线来表示。
常用 UML 类图的更多相关文章
- 23种常用设计模式的UML类图
23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源码)与<设计模式:可复用面向对象软件的基础>(源码)两书中介绍的设计模式与UML图. 整 ...
- 转载:23种常用设计模式的UML类图
转载至:https://www.cnblogs.com/zytrue/p/8484806.html 23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源 ...
- UML类图的6大关系
<小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
- UML——在Visual Studio 2013/2015中设计UML类图
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- 【转】UML类图与类的关系详解
UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...
- 转:深入浅出UML类图(具体到代码层次)
深入浅出UML类图 作者:刘伟 ,发布于:2012-11-23,来源:CSDN 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML ...
- [转载]UML类图总结
前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明 ...
- 图解六大UML类图关系
在学习UML类图的过程中,UML类图关系是必须要掌握的问题,UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. UML类图关系简介 依赖(Dependen ...
随机推荐
- Spring 梳理-数据访问-DB
针对接口编程 DAO是指数据访问对象(data access object),它提供了数据读取和写入到数据库中的一种方式.Spring认为,它应该以接口的方式发布功能,而应用程序的其他部分需要通过接口 ...
- Spring 梳理-Spring配置文件 -<context:annotation-config/>和<context:component-scan base-package=""/>和<mvc:annotation-driven /> 的区别
<context:annotation-config/> 在基于主机方式配置Spring时,Spring配置文件applicationContext.xml,你可能会见<contex ...
- Shell之操作环境
目录 Shell之操作环境 参考 命令运行顺序 欢迎信息 环境配置 Shell之操作环境
- Dropout原理与实现
Dropout是深度学习中的一种防止过拟合手段,在面试中也经常会被问到,因此有必要搞懂其原理. 1 Dropout的运作方式 在神经网络的训练过程中,对于一次迭代中的某一层神经网络,先随机选择中的一些 ...
- python爬虫——简易天气爬取
通过爬虫,抓取http://www.weather.com.cn的天气信息 功能——输入城市代码,获取当日天气,简单的beautifulsoup和requests实现.(城市代码可百度查询,不全部展示 ...
- 为什么用Markdown,而不用Word?
写博客.写文章比较多的人都知道 Markdown 是什么. Markdown 是一种轻量级标记语言,创始人为 John Gruber.它允许人们「使用易读易写的纯文本格式编写文档,然后转换成有效的 X ...
- charles抓包小程序
charles抓包小程序: 原理呢,简单理解,通过charles开代理,然后手工wifi设置代理上网. 但是要做一些准备:手机要安装charles 证书. 注意的是安卓和ios有区别:目前安卓7.0版 ...
- document.body.scrollTop等常见易混淆属性整理
网页可见区域宽: document.body.clientWidth; 网页可见区域宽: document.body.offsetWidth (包括边线的宽); 网页可见区域高: do ...
- python pip源安装模块的一些常见问题
刷bugku的web时需要用python写脚本,web方面需要安装对应的模块,下面就分享一下我在安装模块时碰到的一些问题以及解决方法 首先找到pip文件所在的位置 打开cmd,cd文件位置,打开文件夹 ...
- Ubuntu安装exfat工具
sudo apt-get undate sudo apt-get install exfat-utils