一. 类

类图分三层:

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

  1. class Animal
  2. {
  3. public:
  4. void eat();
  5. void birth();
  6. public:
  7. bool lief;
  8. };

二. 继承关系

继承关系用 空心三角 + 实线 来表示。

三. 聚合关系

聚合关系表示一种 的 “拥有” 关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

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

  1. //大雁
  2. class WideGoose
  3. {
  4. };
  5. //雁群
  6. class WideGooseAggregate
  7. {
  8. private:
  9. WideGoose arrayWideGoose[];
  10. };

注:用代码表示就是,类里面有类。

四. 组合关系

组合是一种的 “拥有” 关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。

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

  1. //翅膀
  2. class Wing
  3. {
  4. };
  5. //鸟
  6. class Bird
  7. {
  8. public:
  9. Bird()
  10. {
  11. m_wing = new Wing;
  12. }
  13. private:
  14. Wing* m_wing;
  15. };

注:在构造函数里,实例化,两者同时生成。

五. 依赖关系

用虚线箭头来表示。

  1. class Animal
  2. {
  3. public:
  4. void Metabolism(Oxygen oxy, Water wat)
  5. {
  6. }
  7. };

六. 关联关系

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

七. 实现接口

用实心三角形+ 虚线来表示。

常用 UML 类图的更多相关文章

  1. 23种常用设计模式的UML类图

    23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源码)与<设计模式:可复用面向对象软件的基础>(源码)两书中介绍的设计模式与UML图. 整 ...

  2. 转载:23种常用设计模式的UML类图

    转载至:https://www.cnblogs.com/zytrue/p/8484806.html 23种常用设计模式的UML类图 本文UML类图参考<Head First 设计模式>(源 ...

  3. UML类图的6大关系

    <小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...

  4. [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图

    [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...

  5. UML——在Visual Studio 2013/2015中设计UML类图

    1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...

  6. 【转】UML类图与类的关系详解

    UML类图与类的关系详解   2011-04-21 来源:网络   在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...

  7. 转:深入浅出UML类图(具体到代码层次)

    深入浅出UML类图 作者:刘伟 ,发布于:2012-11-23,来源:CSDN   在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML ...

  8. [转载]UML类图总结

    前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明 ...

  9. 图解六大UML类图关系

    在学习UML类图的过程中,UML类图关系是必须要掌握的问题,UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. UML类图关系简介 依赖(Dependen ...

随机推荐

  1. Spring 事务注解@Transactional

    事务管理一般有编程式和声明式两种,编程式是直接在代码中进行编写事物处理过程,而声名式则是通过注解方式或者是在xml文件中进行配置,相对编程式很方便. 而注解方式通过@Transactional 是常见 ...

  2. 如何将腾讯视频的qlv格式转换为mp4格式

    基本上每个视频app都会有自己固有的视频播放格式,比如优酷的KUX.爱奇艺的QSV和腾讯的QLV等.而今天我们重点介绍腾讯的QLV格式如何转换为MP4格式,小便也是经过多次的摸索多次的软件试用,发现的 ...

  3. Kafka 学习笔记之 删除Topic

    删除Topic 1. 显示所有Topic信息,testTopic是我们将要删除的Topic 2. 首先确认server.properties下面配置是否已经加上delete.topic.enable= ...

  4. 在Mac上搭建带ssl协议和域名指向的Apache服务器

    顾名思义,就是要在苹果电脑上搭建 Apache 服务器,并且支持 https 协议,能用指定域名访问(有些开发调试需要注册域名,比如调试微信JS-SDK),当然最好能在手机端进行调试.首先,Mac 系 ...

  5. Embarrassment

    I don't know what I did wrong, why do I take care of me? I did something wrong before, your parents ...

  6. 一文了解 Redis 内存监控和内存消耗

    Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis ...

  7. Flutter 修改SDK 路径出现的问题

    更换Flutter SDK 路径之后出现的问题. 解决方法:flutter packages upgrade. 替换: 替换这两个文件里的路径. 同时修改电脑配置文件里的路径: open -a Tex ...

  8. 全球首个开放应用模型 OAM 开源 | 云原生生态周报 Vol. 23

    作者 | 临石.元毅.冬岛.衷源.天元 业界要闻 全球首个开放应用模型 OAM 开源 2019 年 10 月 17 日,阿里巴巴合伙人.阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon ...

  9. 2019滴滴php面试总结 (包含面试题解析)

    2019滴滴java面试总结  (包含面试题) 本人6年开发经验.今年年初找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.滴滴等公司offer,岗位是既有php也有Java后端开发,最终选择去了滴滴 ...

  10. VirtualBox for Mac 6.0.14 开源免费虚拟机方案

    VirtualBox for mac是一款开源虚拟机软件,你可以利用该软件在Mac OS平台上运行Windows软件,即可以在一定程度上弥补Mac OS平台软件不足的劣势,玩家也可以获得Windows ...