UML类图以及类与类之间的关系
类图的表示形式
我们可以看到类图是使用一个矩形来表现我们的类。最上面是类名,中间是属性,方法在最下面。
属性
属性的前面我们可以看到有加减号,他们是用来表示这个属性或方法的可见性的。
"+"表示public,"-"表示private
属性后面的等于号是用来表示属性的默认值的。
可见性 名称 :类型 [ =默认值]
方法
可见性 名称(参数列表) [: 返回类型]
返回类型可写可不写
比如上图的operation2就没有写返回参数,但是如果可以的话建议都写
类与类之间关系
五种关系以及对应的类图画法需要掌握,这里主要是线条的画法需要掌握。
在processon的页面中选中线条之后,可以在上面的工具栏选择线条的起点和终点。
关联关系
关联可以分为单向关联和双向关联。
单向关联
单项关联使用一个带箭头的直线表示,代表A持有B。
上图代表的是一个用户有多个联系地址可供用户下单时选择,这就是一个单向关联。
双向关联
双方各自持有对方类型的成员变量,也就是A中有B,B中也有A。这个就很好理解了,掘金用户有人写了很多的文章,文章又有很多人点赞。
如果我们能够拿到这两个之间的关系,那么计算恶意刷赞就能变得非常简单。
依赖关系
依赖关系用一条带有箭头的虚线表示,代表的是A必须需要B才能发挥作用。体现在某个类的方法使用另一个类的对象作为参数。
泛化关系
用带空心三角形的直线表示,用来表示父类和子类之间的关系,也有的地方叫继承关系。
对于交通工具这个父类而言,汽车和自行车都是它的子类。
聚合关系
UML中聚合关系用带空心菱形和箭头的直线表示,这是一种弱依赖,整体不存在的时候,部分仍可独立存在。
比如上面的LoginBO中的validate方法,就使用了IUserDAO中的findUserByAccAndPwd方法,但是当去掉了LoginBO,还会有其他地方用到IUserDAO的。
组合关系
组合关系用一个带实心菱形和箭头的直线表示,两者表示强依赖关系,整体不存在的情况下,部分也就没有存在的必要了。
LoginBO就是为了LoginForm服务的,当LoginForm被干掉的时候,LoginBO也就没有存在的必要了。
实现关系
用来关联说明和实现。用带空心三角形的虚线表示。我们的Service层经常使用实现关系,一个接口对应多个实现
UML类图以及类与类之间的关系相关推荐
- 快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图
快速读懂UML类图,搞懂类之间的6大关系,轻松绘制UML类图 前言 一.UML类图简介 二.类之间的六大关系及UML类图 1.依赖关系及UML类图表示 2.泛化关系及UML类图表示 3.实现关系及UM ...
- 分析阶段的类图和设计阶段的类图有什么区别?
设计类图是类图的一个变体,类图表示一系列的类以及它们之间的关系.因为分析阶段是一个发现需求的过程,所以我们一般很少关心类的属性和方法的细节.在面向对象设计中,类的属性有一个特征叫可见性,它表示其它类是 ...
- java设计模式之UML③类图讲解多个类之间的关系
图来自大话设计模式 虚线和箭头指向依赖关系,也就是动物类依赖氧气类和水类 一般依赖关系是一个类使用另一个类作为参数使用 动物是一个父类 鸟继承动物 其中空心三角继承关系(箭头方向是子类指向父类) 实心 ...
- 类图中表达总体与局部的关系_UML试题及答案
页脚内容 1 一.单项选择题: (本大题共 20 小题,每题 1 分,共 20 分) 1. UML 的全称是 Unified Modeling Language ( A ) Unify Modelin ...
- 一图明白ACHI,SATA之间的关系
从上图中可以看到,SATA与PCI-E不仅可以指代物理的接口,还可以指代物理接口使用的传输协议. M.2物理接口可以使用SATA.PCI-E传输协议. U.2可以使用PCI-E传输协议.在网上搜了一下 ...
- GNN 的发展过程和一些理论(谱图表示学习 等)之间的关系
来源均指这个理论的提出者或者讲解的论文&&书籍 1. 谱图理论(Spectral Graph Theory)是将图论与线性代数相结合的理论 来源:Spectral Graph Theo ...
- 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...
- iOS开发 - 面向对象设计的设计模式(一):创建型模式(附 Demo UML类图)
继上一篇的面向对象设计的设计原则,本篇是面向对象设计系列的第二个部分:面向对象设计的设计模式的第一篇文章. 另外,本篇博客的代码和类图都保存在我的GitHub库中:中的Chapter2. 最开始说一下 ...
- uml 时序图_面向对象设计与统一建模语言UML
面向对象设计 自从面向对象编程语言在软件开发中成为主流之后,遵循面向对象技术特点的软件设计工作,也一并发展了起来. 首先要提出一个问题,就是设计的工作是要做什么? 它包括的范围其实是很广泛的,从搜集用 ...
- 浅谈UML类图中类之间的5种关系
什么是UML类图? 类图显示了一组类.接口.协作以及他们之间的关系.在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统.类加上他们之间的关系就构成了类图,类图中还可以包 ...
最新文章
- 深入浅出--梯度下降法及其实现
- matlab中if语句的用法_if语句的基本用法
- 在iOS的XCode工程配置中为什么要用-all_load-ObjC
- java jar killed_容器中Java 程序OOMKilled原因浅析
- 4线电子围栏安装示意图_电子围栏报警系统安装施工过程(图解)
- Mybatis源码之数据源模块分析
- Java 蓝桥杯 字母图形
- SharePoint 2010版本表
- 旋转变换(二)欧拉角
- 基于Android的办公自动化系统APP设计与实现
- STN(spatial transformer network)论文与源码理解
- 我以前的痛苦,你也拥有吗?
- DFS回溯-函数递归-xiaoz triangles
- Nim博弈和威佐夫博弈 Return of the Nim
- 旅游 - 珠海长隆海洋王国 - 鹦鹉过山车
- jQuery是什么?和它的优缺点
- FX5U编程常用特殊软元
- 数据备份及恢复需求分析
- 对.ART域名注册局的投诉(工信部版)
- 谷歌cloud_参加Google Cloud专业机器学习工程师考试的20天Beta
热门文章
- 幼儿园教师计算机运用论文,幼儿园教师论文//浅析信息技术带动教育教学的应用...
- Linux查看网络连接情况ss,Linux网络状态工具netstat和ss使用详解
- 自定义View之案列篇(一):魔方
- 使用U盘代替光盘来刻录ISO镜像文件的方法
- 单元测试、注解、枚举、反射(5)JavaSE
- 引用SMTH的一个“坑”!
- 光纤交换机常见硬件、软件故障问题介绍
- iOS数字金额转化为大写汉字(阿拉巴数字转化为汉字)
- 学会这4招,轻松解决开关电源EMI
- Cryptarithmetic Problem ‘ODD+ODD == EVEN’;map()函数,reduce()