UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

依赖(Dependency):

关联(Association):

聚合(Aggregation):

合成(Composition):

泛化(Generalization):就是程序当中的extends继承

实现(Realization):就是程序当中的implements实现

我是这样想的:一般类图之间大的方向就是继承与实现,对于继承、实现这两种关系没多少疑问,在类图里面能够能够体现他们的代码关系就够了,因为他们体现的是一种类与类、或者类与接口间的纵向关系,没有语义问题;

                  其他的四者关系则体现的是类与类、或者类与接口间的引用、横向关系,是比较难区分的,有很多事物间的关系要想准确定位是很难的,前面也提到,这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系(比如上面的关联和合成的示意图,代码是一样的,但是却代表了不同的关系),但是图出来了却能写出他们之间正确的调用关系代码;

四种关系的详细情况可参考:http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html

关联箭头表示:

如果是直线,那么是双向关联,两边都有多重值
如果是带有箭头的实线,那么是单向关联。

实现接口:

继承:

多重值描述:

UML两个类图连线上不是有 1.. 与 0..*等等,那是可能的多重值描述
含义如下
0..1              0个或1个
1                  只能1个
0..*              0个或多个
*                  多个
1..*             1个或多个
3                 只能3个
0..5             0到5个
5..15           5到15个

UML 类图基础知识记录的更多相关文章

  1. 设计模式-UML类图基础

    设计模式之序-UML类图那点事儿 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书 ...

  2. UML类图基础说明

    UML类图主要由类和关系组成. 类: 什么具有相同特征的对象的抽象, 具体我也记不住, 反正有官方定义 关系: 指各个类之间的关系 类图 类就使用一个方框来表示, 把方框分成几层, 来表示不同的信息, ...

  3. UML 类图基础

    先留个坑, 后续再填 UML 类图中主要包括以下几种关系: 1. 泛化: 定义:继承关系,指定子类继承父类的所有特征与行为. 图形:三角形箭头,指向父类.         2. 实现 定义:类与接口的 ...

  4. UML类图基础

    UML( Unified Modeling Language) 统一建模语言, 它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和 ...

  5. 看懂类图——UML类图基础

    类图 要学懂设计模式,就需要先看得懂类图,类与类之间的关系是学习设计模式的基础,而在软件工程中,类与类之间的关系是通过UML中的类图来体现. 这篇笔记包含的不会是类图的所有东西,包含的只是各个类之间的 ...

  6. (转)看懂类图——UML类图基础

    类图 要学懂设计模式,就需要先看得懂类图,类与类之间的关系是学习设计模式的基础,而在软件工程中,类与类之间的关系是通过UML中的类图来体现. 这篇笔记包含的不会是类图的所有东西,包含的只是各个类之间的 ...

  7. 设计模式UML类图基础

    1.聚合 聚合(aggregation)表示一种弱的"拥有"关系,体现的是A对象可以包含B对象,但是B对象不是A对象的一部分.如大雁是群居动物,每只大雁都属于一个雁群,一个雁群可以 ...

  8. 【转载】UML类图知识整理

    原文:UML类图知识整理 UML类图 UML,进阶必备专业技能,看不懂UML就会看不懂那些优秀的资料. 这里简单整理 类之间的关系 泛化关系(generalization) 泛化(generalize ...

  9. UML图基础知识

    一.UML简述 类是面向对象系统中最重要的构造块.类图显示了一组类.接口.协作以及他们之间的关系,通过类图,我们能够很好的掌握类与类之间的关系. 首先给出一幅UML类图,此图来源于<大话设计模式 ...

随机推荐

  1. 北大ACM题库习题分类与简介(转载)

    在百度文库上找到的,不知是哪位大牛整理的,真的很不错! zz题 目分类 Posted by fishhead at 2007-01-13 12:44:58.0 -------------------- ...

  2. 用Ogre实现《天龙八部》场景中水面(TerrainLiquid)详解

    本文主要讲的是<天龙八部>游戏中水面(TerrainLiquid)的具体实现,使用C++,Ogre1.6. 天龙的水面做的比较简单,虽然没有倒影,但动态纹理+深度图做出的效果还行,看着不是 ...

  3. Android IPC(inter-process Communitcation)

    Android IPC(inter-process Communitcation) http://www.cnblogs.com/imlucky/archive/2013/08/08/3246013. ...

  4. RAID-4与模2和

    在网络传输和磁盘数据管理中经常涉及到的所谓奇偶校验:每N个bit之后加上一个bit保证这N + 1bit的模2和为0(也叫异或,一个意思) 而如果这其中出现了单bit错, 直接导致校验出差,出现偶数b ...

  5. BZOJ 2442 修剪草坪

    NOIP的时候一定要看清楚数据范围. #include<iostream> #include<cstdio> #include<cstring> #include& ...

  6. XMPP即时通讯

    XMPP:XMPP是基于XML的点对点通讯协议,The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议). XMPP可用于服务类实时通讯,表 ...

  7. 破解 AD_CM#3

    系统 : Windows xp 程序 : AD_CM#3 程序下载地址 :http://pan.baidu.com/s/1skwXPVn 要求 : 编写注册机 使用工具 :IDA & OD 可 ...

  8. GET请求和POST请求简单说明

    一.概述 * HTTP/1.1协议共定义了8中请求方法:OPTIONS, HEAD, GET, POST, PUT, DELETE, TRACE, CONNECT. * GET方法和POST是我们使用 ...

  9. 《JavaScript Ninja》之挥舞函数

    挥舞函数 匿名函数为什么如此重要 通常使用匿名函数的情况是,创建一个供以后使用的函数.例如,将匿名函数保存在一个变量里,将其作为一个对象的方法,或者是将匿名函数作为一个回调.-->在这些情况下, ...

  10. 使用Jmeter测试MySQL性能——(1)连接配置

    在搭建MySQL集群之后需要测试集群的性能究竟如何,采用Apache的测试工具Jmeter进行测试,本文主要介绍主要实现Jmeter配置连接到MySQL. 安装相应的软件 首先Jmeter是基于Jav ...