前言

UML类图形象反映系统类之间的关系,大家非常常用。小弟不才,偶尔使用,往往每次使用都得查询各种关系的表示方式。终于,这次认真看了几遍,打算记起来。

注意

记忆方法只是本人联想,用于加强记忆。与该表示方式的来源没有半点关系。

元素

类和接口

  • +表示public,-表示private。正代表公开,负代表私密,很正常。

类之间的各种关系

泛化、实现

  • 泛化(可以看成继承)和实现都用三角形来表示。
  • 实现,由“无实现”到“有实现”。没东西是不是比较虚啊,所以用的是虚线。
  • 泛化,原来就有实现,只不过在此基础上扩展。本身就很强,用实线。
  • 在Java中的表现,泛化,就是继承;实现,就是实现嘛,被实现的可以是接口,或抽象类。

聚合、组合

  • 聚合、组合都是用菱形表示。他们都是多个对象聚集而成,所以体积比较大,你看菱形是不是比三角形、箭头要大一点。
  • 两者都是用实线。
  • 聚合,是聚集起来合成在一起的。比如人员聚集起来合成一个团队,如果团队解散了,但人员还存在。是弱依赖关系,所以用空心的菱形。
  • 组合,是(结构)组成合成在一起的。比如树木组成森林,如果森林消失了,树木也消失了。是强依赖关系,所以用实心的菱形。

关联、依赖

  • 关联、依赖都是由箭头表示(除了箭头,也想不到其他更合适的了)。
  • 关联,是静态的、非运行时的关系(什么是非运行时的关系?用Java代码来说,A关联B,那么B是A的一个属性,顿时领悟了吧)。那么稳定的关系,当然用实线了。
  • 依赖,是临时的、运行时的关系(用Java代码来说,就是参数嘛),临时的关系,用虚线表示也合理。

参考的资料

【UML】如何记忆UML类图的画法的更多相关文章

  1. UML学习笔记:类图

    UML学习笔记:类图 有些问题,不去解决,就永远都是问题! 类图 类图(Class Diagrame)是描述类.接口以及它们之间关系的图,用来显示系统中各个类的静态结构. 类图包含2种元素:类.接口, ...

  2. UML基础系列:类图

    类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,如关联.依赖.聚合等,还包括类的内部结构(类的属性和操作).类图描述的是静态关系,在系统的整个生命周期中都是有效的.对象图是类图的实 ...

  3. Uml 建模 一(类图建模和startuml的使用)

    本文将分三个部分介绍Uml建模:Uml建模的作用.类图.startuml的使用 Uml的作用 本文以java为例介绍Uml,在当前的软件开发中大多数使用面向对象开发(OO),面向对象的就是将现实世界中 ...

  4. UML类图基本画法

    转自:http://www.cnblogs.com/import-this/p/5330501.html 1. 类 类包括属性方法 下图的生命就是属性 代谢就是方法 2.基本关系 a.泛化(Gener ...

  5. UML类图的画法

    http://blog.csdn.net/kevin_darkelf/article/details/11371353

  6. UML类图画法及其之间的几种关系(转)

    UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的 ...

  7. UML类图画法及其之间的几种关系

    最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的几种关系:泛化(Generaliz ...

  8. [UML]UML系列——类图Class

    相关文章       [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...

  9. (转)面向对象——UML类图设计

    背景:一直以来,对UMl类图的画法不甚理解,但是随着学习的深入,发现熟练掌握UML类图,能够更好理解代码间的逻辑性,而这也是程序设计的基础所在,所以很有必要把UML好好掌握. UML类图新手入门级介绍 ...

随机推荐

  1. 用vs2013编译lua源码方法(一)

    用vs2013编译lua源码方法 来源:网络    编辑:admin 1.下载lua源码:lua-5.2.3.tar.gz,解压 2.用vs2013建立一个win32工程: 1)下载后解压到一个目录下 ...

  2. iOS -- AVAudioPlayer播放音乐

    一. AVAudioPlayer:                          声明音乐控件AVAudioPlayer,必须声明为全局属性变量,否则可能不会播放,AVAudioPlayer只能播 ...

  3. String-原型属性

    <script> /*将trim方法定义到字符串对象中 *使用字符串的原型属性来完成 *原型prototype:就是该对象的一个描述,该描述中如果添加新功能,那么该对象就具备这些新功能. ...

  4. HTML中禁用表单控件的两种方法readonly与disabled

    时候我们会希望表单上的控件是不可修改的,比如在修改密码的网页中,显示用户名的文本框就应该是不可修改状态的,下面与大家分享下禁用表中控件的两种方法 在网页的制作过程中,我们会经常使用到表单.但是有时候我 ...

  5. JavaScript 入门教程二 在HTML中使用 JavaScript

    一.使用 <script> 元素的方式有两种:直接在页面中嵌入 JavaScript 代码和引用外部 JavaScript 文件. 二.使用内嵌方式,一般写法为: <script t ...

  6. asp.net identity 2.2.0 中角色启用和基本使用(六)

    创建用户管理相关视图 第一步:添加视图   打开UsersAdminController.cs   将鼠标移动到public ActionResult Index()上  右键>添加视图   系 ...

  7. C使用相关笔记

    #将c文件编译成动态库 //hello.c int hello_add(int a, int b) { return a + b; } gcc -O -c -fPIC -o hello.o hello ...

  8. 如何配置Eclipse+Tomcat 开发环境【转】

                                                                                                        ...

  9. KVC和KVO大优点

    都是动态的,运行时检查,给予了极大的方便

  10. 安装php扩展库

    无法加载'pdo_mysql' ,因为需要pdo这个module.PHP Warning: Cannot load module 'pdo_mysql' because required module ...