1.UML基本介绍

UML:统一建模语言,是一种用于软件系统分析和设计的语言工具

2.UML图

UML图分类:
用例图
静态结构图:类图,对象图,包图,组件图,部署图
动态行为图:交互图,状态图,活动图
类图是描述类与类之间的关系的,是UML图中最核心的

3.UML类图

用于描述系统中类(对象)本身的组成和类(对象)之间的各种静态关系

类之间的关系:依赖,泛化(继承),实现,关联,聚合与组合

3.1依赖关系

只要在类中用到了对方,那么他们之间就存在依赖关系。如没有对方,连编译都通过不了

小结:
1)类中用到了对方
2)如果是类的成员属性
3)如果是方法的返回类型
4)如果是方法接受的参数类型
5)方法中使用到(局部)
3.2泛化关系

实际上就是继承关系,是依赖关系的特例

小结:
1)泛化关系实际上就是继承关系
2)如果A类继承了B类,就说A和B存在泛化关系
3.3实现关系

实际上是A类实现B接口,是依赖关系的特例

3.4关联关系

实际上就是类与类之间的联系,是依赖关系的特例

关联具有导航性:即双向关系或单向关系

关联具有多重性:一对多,多对一,多对多

//单向一对一关系
public class Person{
private IDCard card;
}
//双向一对一关系
public class Person{
private IDCard card;
}
public class IDCard{
private Person person;
}
3.5聚合关系

聚合关系(Aggregation)表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。

如:一台电脑由键盘(keyboard)、显示器(monitor),鼠标等组成;组成电脑的各个配件是可以从电脑上分离出来的,使用带空心菱形的实线来表示:

3.6组合关系

组合关系:也是整体与部分的关系,但是整体与部分不可以分开。

再看一个案例:在程序中我们定义实体: Person与IDCard, Head,那么Head和Person就是组合, IDCard和 Person就是聚合。

但是如果在程序中Person实体中定义了对IDCard进行级联删除,即删除Person时连同IDCard一起删除,那么IDCard和Person就是组合了。

UML类图及类之间关系的更多相关文章

  1. UML类图画法及其之间关系

    1.泛化又名继承(Generalization),带空心箭头的实线表示,箭头指向父类 2.实现(Realization),带空心的虚线表示 3.关联(Association),类与类之间的关联,它使一 ...

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

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

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

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

  4. C# UML类图及类之间的几种关系

    今天晚上看了大话设计模式中的UML类图这一节感觉受益匪浅,好多年不能理解的类之间的关系理解了. 一.UML类图的表示方法 1.类的表示方法 A类用一个矩形框分三层表示,第一层是类名,斜体类名表示抽象类 ...

  5. 3.UML中的类图及类图之间的关系

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  6. GOF 的23种JAVA常用设计模式总结 02 UML中的类图与类图之间的关系

    统一建模语言UML 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际 ...

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

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  8. UML类图的6大关系

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

  9. [UML]UML系列——类图class的泛化关系

    系列文章       [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       [UML]UML系列——类图C ...

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

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

随机推荐

  1. linux NFS 的安装准备

    关闭 iptables 和 selinux [root@allentuns ~]# service iptables stop [root@allentuns ~]# chkconfig iptabl ...

  2. 【转】SIP协议 会话发起协议

    转自:https://www.cnblogs.com/gardenofhu/p/7299963.html 会话发起协议(SIP)是VoIP技术中最常用的协议之一.它是一种应用层协议,与其他应用层协议协 ...

  3. md5sum 计算和校验文件的md5值

    1. 命令功能 md5算法一般用于检查文件完整性, 2. 语法格式 md5sum  [option]  [file] 参数 参数说明 -b 以二进制模式读入文件 -t 以文本模式读入文件 -c 用来从 ...

  4. [Luogu2015]二叉苹果树(树形dp)

    [Luogu2015] 二叉苹果树 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. ...

  5. Matlab的2D作图

    1 plot()函数 画一条线 plot(X,Y) 最基本的例子 x = 0: pi / 100:2 * pi; y = sin(x); figure plot(x,y) 在一张图上画多条线 clc; ...

  6. element中的表格处理:循环出表格数据

    最近要做一个表格,但是为了方便维护,我们需要把表格数据循环出来,方便加减节点: <template> <el-table :data="tableData" st ...

  7. laravel后台账户登录验证(5.5.48版本)

    首先我是菜鸟,对laravel框架也不是很熟悉,突然有一天心血来潮就想研究一下laravel的后台登录用户登录的流程, 虽然公司项目中有这样的一套流程,也看了好几遍,越看越简单,越看我就越会了,当自己 ...

  8. MaxCompute Studio 使用入门

    MaxCompute Studio 是MaxCompute 平台提供的安装在开发者客户端的大数据集成开发环境工具,是一套基于流行的集成开发平台 IntelliJ IDEA 的开发插件,可以帮助您方便地 ...

  9. JS一些概念知识及参考链接

    1.setTimeout.setInterval.promise.宏任务.微任务 先执行宏任务整体 script 同步代码,然后遇到 setTimeout 或者 setInterval 即放到宏任务队 ...

  10. 【HDOJ6664】Andy and Maze(color coding)

    题意:给定一张n点m边的无向带权图,问从任意结点出发,不能走已经经过的点,共经过k个点的最长路径的值 n,m<=1e4,k<=6 思路:color coding算法 考虑每次给每个点随机编 ...