UML——六大关系整理
UML——六大关系整理
1、定义
是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模(百度百科)。
2、六种关系
这六种关系分别为,继承、实现、关联、聚合、组合、依赖。
3、继承(继承是否可以叫泛化?):
表示一般与特殊的关系,通过继承,可以把父类的特性或方法拿过来,而它自身可以扩展其它的特性和方法等等。C#用
冒号表示继承,java用extend关键字表示继承。
例如:猫是动物的一种,即有猫的特性也有动物的共性,Cat:Animal;Cat extend Animal。
UML表示如下:

4、实现:
这是一种接口和类之间的关系,类实现接口中的特征和行为。例如:类C实现了接口Interface1
UML表示如下:

5、关联:
一种强依赖关系,关联就是某个对象会长期的持有另一个对象的引用,而二者的关联往往也是相互的。关联的两个对象
彼此间没有任何强制性的约束,
只要二者同意,可以随时解除关系或是进行关联,它们在生命期问题上没有任何约定。被关联的对象还可以再被别的对
象关联,所以关联是可以共享的(51cto)。例如:ClassA2关联着ClassB2,自身关联ClassA5
UML表示如下:


6、依赖:
依赖指的是一个类依赖另一个类的方法或属性,例如:人要写字,就必须借助比的写的功能。
依赖就是某个对象的功能依赖于另外的某个对象,而被依赖的对象只是作为一种工具在使用,
而并不持有对它的引用(51CTO)。
UML表示如下:

7、聚合:
聚合是关联的一种形式,代表两个类之间的整体/局部关系。聚合暗示着整体在概念上处于比局
部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。
UML关系图中的聚合是强版本的关联。它暗含着一种所属关系以及生命期关系。被聚合的对象
还可以再被别的对象关联,所以被聚合对象是可以共享的。虽然是共享的,聚合代表的是一种更亲密的关系(51CTO)。
释义:书和纸之间具有着一种强烈的所属关系,书是可以分享的,这正如纸和书里的文字都对这本书有着同样的强烈关联。
UML表示如下:

8、组合:
UML关系图中的组合是关系当中的最强版本,它直接要求包含对象对被包含对象的拥有以及包含对象
与被包含对象生命期的关系。被包含的对象还可以再被别的对象关联,
所以被包含对象是可以共享的,然而绝不存在两个包含对象对同一个被包含对象的共享(51CTO)。
UML表示如下:

UML——六大关系整理的更多相关文章
- 软件设计之UML—UML中的六大关系
一.UML中的六大关系 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation), ...
- 设计模式之UML类图六大关系辨析【2】
六大关系:继承(extends).实现(Realization).依赖(use-a).关联(association).聚合(has-a).组合(强聚合)(Composition). 类与类之间的强弱关 ...
- [转] UML中的六大关系
UML中的六大关系 转自:https://www.cnblogs.com/hoojo/p/uml_design.html 在UML类图中,常见的有以下几种关系: 泛化(Generalization), ...
- UML类图介绍&类的六大关系
UML类图介绍&类的六大关系 官方定义 UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,用于帮助软件开发人员进行思考和记录思路的方式 UML 图形化的语言 基本介绍 UML图: ...
- 通过简单例子 | 快速理清 UML 中类与类的六大关系
关于封面:我想我们都会离开 类与类之间的六大关系 泛化 ( Generalization ) ---> 表继承关系 实现 ( Realization ) 关联 ( Association ) 聚 ...
- UML学习归纳整理
转载自:https://www.jianshu.com/p/83afa19c5096 写在前面 之前在学校比较系统的学习过统一建模语言UML,但长时间没使用遗忘了许多,最近因工作需要,所以对UML重新 ...
- 【建模】UML类关系分析
一.UML类关系分析 1.关联(asociation) 一般是一方拥有另一方对象的指针.箭头的方向是访问方向. 2.聚合(Aggregation)和组合(Composition) 聚合和关联一般不做区 ...
- UML六种关系
UML六种关系 基础之上,并对其进行了扩展.在程序中是通过继承类实现的.比如狗是对动物的具体描述,在面向对象设计的时候一般把狗设计为动物的子类. 表示方法:空心三角形箭头的实线,子类指向父类 实现 概 ...
- 单元测试系列之八:Sonar 数据库表关系整理一(续)
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:Sonar平台是目前较为流行的静态代码扫描平台,为了便于使用以及自己二次开发,有必要对它的数据库结构进行学习 ...
随机推荐
- 【Win10】实现控件倒影效果
先引入个小广告: 最近买了台小米盒子折腾下,发觉 UI 还是挺漂亮的,特别是主页那个倒影效果. (图随便找的,就是上面图片底部的那个倒影效果.) 好了,广告结束,回归正题,这个倒影效果我个人觉得是挺不 ...
- 四、创建覆盖网络--Flannel
Flannel是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,其目的在于帮助每一个使用 Kuberentes 的 CoreOS 主机拥有 ...
- 为某金融企业的IT技术部人员提供基于TFS的软件研发流程介绍
受莫金融企业IT信息技术部的邀请,为该金融企业的某省分公司.地市分公司的IT技术人员提供了一场基于TFS的软件研发流程的技术培训,希望可以借此提高该企业的软件研发.运维水平,同时推动企业软件研发信息化 ...
- .Net core 应用程序发布Web时,有些文件夹没有发布成功解决办法
如果文件是你在项目中手动添加的, 那么在解决方案中右击文件,然后点击属性,文件属性----高级----复制到输出目录----改为始终复制/如果较新则复制 即可.
- NetCore入门篇:(五)Net Core项目使用静态文件
一.简介 1.Net Core默认无法访问静态文件,需要在Startup通过代码添加定义. 2.本文介绍两种静态文件目录实现方式. 二.启用默认目录 1.添加图片文件 2.测试访问结果(不能访问) 3 ...
- MSSQL数据表生成模型
MSSQL数据表生成模型 http://pan.baidu.com/s/1mhBAapy
- jsp(Java的服务网页)$javabean
JSP:Java Server Page(Java的服务网页),也是Java的动态网页. JSP的本质:其实就是一个Servlet. JSP---->翻译成Servlet类---->编 ...
- sql表与表之间的数据操作
--把一张表的内容更新到另一张表 update 表1 set 表1.Store=t2.Name from 表2 t2 where 表1.id=t2.id --备份一张表 create table ta ...
- Day 48 HTML 语言Day1
HTML文档结构 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&qu ...
- Debug Dart at External Terminal
launch.json { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions ...