实现(Implements)

  • 实现的符号为:\(--- \triangleright\)

箭头指向接口。

泛化/继承(Inheritance)

  • 继承的符号为:$ —\triangleright $

箭头指向被继承的一方。

依赖(Dependency)

  • 依赖的符号为:\(--->\)

箭头指向被依赖的一方。

对于A依赖于B:

  • 类B以参数的形式传入类A的方法,并在这个方法中调用B的方法。
  • 类B以局部变量的形式存在于类A的方法中(聚合是全局变量)。
  • 类A调用类B的静态方法

关联(Association)

  • A类和B类通过C类关联。A类与B类用实线连接,C类通过虚线连接到实线上。
  • 关联的对象地位通常是平等的。

聚合(Aggregation)

  • 聚合是关联的一种特殊类型。
  • 聚合用于描述“总体到局部”的关系。地位是不同的,一个是总体,一个是局部。
  • 在类里面,局部是总体的全局变量(依赖是局部变量)。

    注意与依赖区分。聚合也要将类B以参数的形式传入A的方法,但不是在传入的时候使用B,而是传给全局变量。

聚合分为基本聚合(Basic aggregation)组合聚合(Composition aggregation)

箭头指向“局部”。

  • 基本聚合
    符号为:\(\lozenge - >\)
    空心菱形。从外部传入。

  • 组合聚合
    符号为:\(\blacklozenge - >\)
    实心菱形。内部自己new。


参考链接:
The class diagram
UML类图关系大全

UML类图的几个名词及对应符号的更多相关文章

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

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

  2. 深入浅出UML类图(一)

    在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML Distilled: A Brief Guide to the Standard O ...

  3. 深入浅出UML类图

    原作者:http://www.uml.org.cn/oobject/201211231.asp 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作&l ...

  4. UML类图二

    在软件系统中,类并不是孤立存在的,类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式.       1. 关联关系 关联(Association)关系是类与类之间最常用的一种关系, ...

  5. UML类图一

    转自:http://blog.csdn.net/lovelion/article/details/7838679 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统 ...

  6. 深入了解UML类图

    深入浅出UML类图 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML Distilled: A Brief Guide to the ...

  7. UML类图及类与类之间的关系

    原文地址:http://www.uml.org.cn/oobject/201211231.asp 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的 ...

  8. 【转】深入浅出UML类图

    转自:http://www.cppblog.com/API/archive/2013/07/04/201506.html 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin ...

  9. UML类图概述、设计模式

    深入浅出UML类图(http://blog.csdn.net/lovelion/article/details/7843308) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相 ...

随机推荐

  1. Android开源动画库nineoldandroids

    项目官网地址:http://nineoldandroids.com/ 使用这个库的原因是android3.0之后出了新的animation API,但是android3.0以下的不支持 这个库完成了这 ...

  2. HDU 3579

    标准同余方程组,只是在求出值后如果为0,应该输出Mi的Lcm: #include<iostream> #include<cstdio> #include<cstring& ...

  3. fastjson序列化排序问题

    fastjson序列化,默认是用字母排序, 那么怎么来实现按照自己定义的顺序输出,想要的json串呢? 直接上代码: import com.alibaba.fastjson.annotation.JS ...

  4. C#面向对象(继承的重载和构造函数)

    构造函数: 继承的重载:

  5. python之比较is与==(转载)

    在 Python 中会用到对象之间比较,可以用 ==,也可以用 is .但是它们的区别是什么呢? is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同.莱布尼茨说过: ...

  6. 温故而知新--JavaScript书摘(三)

    前言 毕业到入职腾讯已经差不多一年的时光了,接触了很多项目,也积累了很多实践经验,在处理问题的方式方法上有很大的提升.随着时间的增加,愈加发现基础知识的重要性,很多开发过程中遇到的问题都是由最基础的知 ...

  7. C++ code:数值计算之辛普生(Simpson)法求解积分问题

  8. poj2019 二维RMQ模板题

    和hdu2888基本上一样的,也是求一个矩阵内的极值 #include<iostream> #include<cstring> #include<cstdio> # ...

  9. 2018-2019 2 20165203 《网络对抗技术》Exp6 信息搜集与漏洞扫描

    2018-2019 2 20165203 <网络对抗技术>Exp6 信息搜集与漏洞扫描 实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 实践内容 (1)各种搜索技巧的应用 (2) ...

  10. 【APUE | 10】函数signal

    函数signal 函数signal介绍 typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t ...