zoukankan
html css js c++ java
UML 组成 1
常用关系:
关联关系使用一条直线表示
,比如 A与B关联
用于描述不同类的对象之间的结构关系,将多个类的实例联系在一起
是一种静态关系,基本与程序的运行没有关系
比如,部门与员工的关系,就是关联关系
关联关系
一般不强调方向
,表示互相“知道”对方,也就是存在引用
关联关系有多重性 比如一对一关联 一对多关联等 可以任意关联N对N关联
如果特别强调方向,就使用箭头
,比如
那么表示A知道B但是B不知道A
也就是说,关联关系有两种图形
直线或者直线箭头
关联关系表示存在引用,比如员工类的定义中有“部门”属性字段
实现关系是带空心箭头的虚线表示的
,比如A
实现
B,箭头指向父类、接口
实现可以狭隘的认为是一种实现类与父类、接口的关系(其实在UML中实现的含义远不止实现类这层含义)
泛化关系是带空心箭头的直线表示的
,比如A
继承
B
用于说明继承关系
泛化关系是从子类到父类的关系,箭头指向的是父类
聚合关系是带空心的菱形的直线表示的
,比如 A聚合到B上,也就是B由A组成
聚合关系用于类图,
表达整体由部分构成的语义
,比如部门由许多人员组成
整体和部分不是强依赖的
,即使整体不存在,依然可以存在部分,即使没有部门,人员仍旧存在
组合关系是带实心的菱形的直线表示的
,比如A组合成B,或者说B由A构成
表达整体拥有部分的含义
,组合关系是一种
特殊的强依赖的聚合关系
如果整体不存在,那么部分也不存在了
比如,汽车由轮胎底盘发动机构成,汽车不存在了,自然也不存在发动机了
依赖关系使用带箭头的虚线表示
,比如 A依赖B
用于
描述一个对象在运行期间会使用到另外一个对象的关系
依赖关系是一种临时性的
,简言之就是不同场景会发生变化
比如人和车
如果是驾驶场景,车依赖人(驾驶员),如果是乘车出行,那就是人依赖车(公交、出租)
很显然,依赖关系比关联关系更加弱
依赖关系是一种使用关系
比如一个类的方法中的局部变量、方法的参数或者对静态方法的调用,都是一种依赖
用例图:角色与功能的关系图,
此刻,静下心来学习
查看全文
相关阅读:
条款27: 如果不想使用隐式生成的函数就要显式地禁止它
条款26: 当心潜在的二义性
条款23: 必须返回一个对象时不要试图返回一个引用
条款22: 尽量用“传引用”而不用“传值”
条款21: 尽可能使用const
【转】我的算法学习之路
【转】基于Linux下的TCP编程
条款十九: 分清成员函数,非成员函数和友元函数
【c++】C语言中volatile关键字的作用
innerHTML,innerText,outHTML,outText区别
原文地址:https://www.cnblogs.com/bandariFang/p/10081020.html
最新文章
文件设备挂载,卸载,终端编辑的文件内容
java run()方法无法throws 异常
电脑预装Office2016打开Word时点击保存弹出“word无法启动转换器RECOVR32.CNV”对话框问题的修复方法
where子句和having子句区别
远程连接MySQL报错1045解决方案
Mac和Linux远程连接服务器异常修复(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)
Android中ActionBar和ToolBar添加返回箭头
mysql导出到文件错误(err 1290)
JAVA变量初始化赋值问题
Tomcat 下载安装,启动,停止,注册服务,开机自启
热门文章
Java中HttpURLConnection使用详解、总结。
算法导论(第三版)练习 1.1-1 ~ 1.1-5
算法(第四版)练习 1.1.1 ~ 1.1.25
【Head First Servlets and JSP】笔记 28: 过滤器与包装器
【Head First Servlets and JSP】笔记 27: web 应用安全
Web开发相关笔记 #02#
【Head First Servlets and JSP】笔记 26: web 应用部署
【Head First Servlets and JSP】笔记 25:JSTL 参考
Web开发相关笔记
【Nginx】epoll及内核源码详解
Copyright © 2011-2022 走看看