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
用于
描述一个对象在运行期间会使用到另外一个对象的关系
依赖关系是一种临时性的
,简言之就是不同场景会发生变化
比如人和车
如果是驾驶场景,车依赖人(驾驶员),如果是乘车出行,那就是人依赖车(公交、出租)
很显然,依赖关系比关联关系更加弱
依赖关系是一种使用关系
比如一个类的方法中的局部变量、方法的参数或者对静态方法的调用,都是一种依赖
用例图:角色与功能的关系图,
此刻,静下心来学习
查看全文
相关阅读:
Django-url反向解析和命名空间
django-分页paginator
python-命令模式
python-访问者模式
python-责任链模式
python-备忘录模式
最长无重复字串
计算机网络常见面试题
C++对象模型
原码反码补码(转)
原文地址:https://www.cnblogs.com/bandariFang/p/10081020.html
最新文章
[NOIP2008]笨小猴
[洛谷2415]集合求和
[NOIP2011]选择客栈
[NOIP2002]自由落体
[noip2008]传纸条
[NOIP2000]方格取数
[NOIP2013]积木大赛
[NOIP2003]栈
Java多态
Java重写(Override)与重载(Overload)
热门文章
Java继承
VMware无法连接MKS:套接字连接尝试次数太多解决
TensorFlow指定GPU/CPU进行训练和输出devices信息
Ubuntu在命令行安装显卡驱动
Ubuntu下多个gcc版本之间的切换
Ubuntu18.04安装OpenCV4.1.0
执行sudo pip3 ...报错 Traceback (most recent call last): File "/usr/bin/pip3", line 9, in <module> from pip import main ImportError: cannot import name 'main'
天天生鲜项目实战-思路 数据库设计
django-全文检索
cookie和session
Copyright © 2011-2022 走看看