【UML】2.部分与整体的媒介:关系

article/2025/10/26 9:05:02

UML模块中的任何事物都不是独立存在的,他们之间存在着一定的关系。下面就对这些关系,分类了解一下。

一.概念

【关联】Association

两个类存在某种语义上的联系,关联有单向关联和双向关联。

【聚合】Aggregation

类之间是整体和部分的关系。”聚”表示聚在一起的意思,也表示“部分”可以独立”整体”存在。描述“has-a”的关系。

【组合】Composition

整体有管理部分的特有的职责并且他们有一致的生命期,部分不能脱离整体存在。描述“contains-a”的关系。

【泛化】Generalization

泛化是一般事物和该事物特殊种类之间的关系,描述类之间“Is a kind of”的关系。子类继承父类,又分为单继承和多继承,由名字可知:子类继承单个父类的属性和操作就是单继承。

泛化的通过修改父类而修改子类共同的属性和方法,实现代码的重用,也有利于系统维护。

【依赖】Dependency

是两个事物之间的使用关系。A依赖于B。当B发生改变的时候A也会改变。

【实现】Realization

用来规定接口和实现接口的类或组件之间的关系,不继承结构只继承行为。一个接口的实现,要先实现对应的类,一个类可以有多个接口。实现使用的情况:1.在接口与实现接口的类间。2.在用例以及实现该用例的协作间

二、实例

【关联】一个人为一家公司工作

【聚合】书架上放着书

【组合】鸟和翅膀

【泛化】人类,分为男人和女人

【依赖】系统和单个窗体

【实现】篮球得分的方式。扣篮,投篮,罚球

三、Rational Rose表示

【关联】

1.关联用横实线表示 2.employee表示person类扮演的角色 3.n和1表示多重性关系。一个公司有许多员工

【聚合】

1.聚合用带空心菱形头的实线表示 2.菱形头指向整体。




【组合】

在聚合的基础上把空心的变成实心的。




【泛化】

1.带空心箭头的实线表示 2.由子类指向父类 3.此图表示单继承



【依赖】

1.带箭头的虚线表示 2.A依赖于B,则A指向B




【实现】

1.带空心箭头的虚线表示 2.一个类可以有多个接口 3.类指向接口


四、对比分析

1.聚合和组合是特殊的关联。某种意义上说,关联,泛化和实现都属于依赖关系的一种。

2.聚合和组合都表示部分和整体的关系。但是聚合表示部分能够脱离整体而存在。例如汽车和轮胎。而组合表示部分不能脱离整体存在。当整体不存在了,部分也就没有存在的意义。例如鸟和翅膀。不过同一个部分和整体在不同的环境中,表示也可能不同。例如对于汽车制造商来说,汽车和轮胎是聚合关系。而对于汽车销售商来说,汽车和轮胎就是组合的关系了。

3.这几种关系是语义级别的不同。按照关系表现的强弱依次是:泛化=实现>组合>聚合>关联>依赖

 五、总结

通过学习UML中的六种关系,掌握每一种关系所表示的意义,在实际系统中能够对类之间的关系进行区分,同时能够用Rational Rose工具将这六种关系正确的表示出来。

http://chatgpt.dhexx.cn/article/l9m5j6hN.shtml

相关文章

干货!基于部分-整体关系的概念、关系和物理场景认知推理

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 人类视觉感知的一个关键方面是能够将视觉场景解析为单个对象并进一步分解为对象部分,形成部分-整体层次结构。这种复合结构可以产生丰富的语义概念和关系,从而在视觉信号的解释和组织以及…

设计模式.组合模式(整体和部分关系, 树和Node,透明组合和完全组合)

抽象角度看 一棵树有很多节点,根据位置可以分为:根节点,中间节点,叶子节点 所有的节点都是树节点 这两句话转换为代码就是: 你可以有三个Node类,RootNode,TempNode,LeafNode。当然…

HINSTANCE (句柄相关)

在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16   程序使用HINSTANCE来区别task。   区别:   Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。   HMODULE 是代表应用程序载入的…

为什么需要传递HINSTANCE给CreateWindow?

Win32中有两个API函数,CreateWindow和RegisterClass。它们有一个HINSTANCE参数,很多人对这个参数不是很理解,今天就来讲一讲。 窗口类的名称还不足以唯一地确定这个窗口类。每一个进程都会拥有它自己的窗口类列表,而在这个列表中…

HINSTANCE数据类型

作者:马 岩(Furzoom) (http://www.cnblogs.com/furzoom/)版权声明:本文的版权归作者与博客园共同所有。转载时请在明显地方注明本文的详细链接,未经作者同意请不要删除此段声明,感谢…

【引用】HINSTANCE

在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16 程序使用HINSTANCE来区别task。 区别: Handle 是代表系统的内核对象,如文件句柄,线程句柄,进程句柄。 HMODULE 是代表应用程序载入的模块,…

hInstance是什么参数?

熟悉C编程的人都知道main函数带有2个参数:arc和argv,完整的main函数定义是:int main(int argc, char *argv[])。argc指示程序启动时命令行参数的个数,argv则包含具体的参数字符串。 如果有程序叫“hello.exe”,直接启动…

hInstance是什么参数

熟悉C编程的人都知道main函数带有2个参数:arc和argv,完整的main函数定义是:int main(int argc, char *argv[])。argc指示程序启动时命令行参数的个数,argv则包含具体的参数字符串。 如果有程序叫“hello.exe”,直接启…

外卖小程序邀请入口获取推广路径

外卖小程序邀请入口 饿了么小程序邀请入口 1.手机应用商城搜索 淘宝联盟app,让后下载,登录建议直接选淘宝登录,让后按照下图的步揍即可. 淘宝联盟APP获取推广appid和path的地方,这是两个不同的每日红包。 2.另外饿了么小程序里面有个邀请有礼的,通过上…

万能门店小程序可diy完整前后端源码

这个是一位朋友付费分享的万能门店小程序,听他说功能挺强大的,功能也挺全面的。 有必须提醒一下:小程序代码分为前端和后端。 前端代码:例如:用“微信开发者工具”上传至微信官方审核就可以了。 后端代码&#xff1…

uniapp 生成微信小程序码

第一步创建一个容器&#xff0c;展示图片 <view style"margin: 49rpx auto;width: 300rpx;height: 300rpx;"><image :src"maskData" style"width: 100%;" longtap"longtap"></image> </view> 功能是&#x…

微信小程序的推广思路与方法,详细思路解析

简单来说&#xff0c;小程序就是微信上的APP&#xff0c;它内生于微信&#xff0c;坐享10亿流量&#xff0c;而且不需要下载安装即可使用的应用&#xff0c;它实现了应用“触手可及”的梦想&#xff0c;用户扫一扫或者搜一下即可打开应用。今天&#xff0c;我们就来看一看微信小…

替你发优惠券,为了推广小程序微信真是豁出去了

微信iOS 6.6.6版本上线了! 虽然App Store的新功能里,只写了“可保留未编辑完的朋友圈”。但心细如发的道爷依然发现几大重要更新,解决的痛点,必将让10亿用户为之小嗨一把,小程序也迎来了新的春天!另外,安卓版已经正式上线了! 微趋道,就是小程序 本次主要更新了以下内…

小程序介绍

1. 小程序介绍 微信小程序&#xff0c;简称小程序&#xff0c;英文名 Mini Program &#xff0c;是一种不需要下载安装即可使用的应用&#xff0c;它实现 了应用“触手可及”的梦想&#xff0c;用户扫一扫或搜一下即可打开应用 1.1 为什么是微信小程序&#xff1f; 微信有海…

小程序快速推广方法,你知道多少?

很多人觉得小程序的风口已经过去&#xff0c;其实不然&#xff01;就从这次疫情看&#xff0c;很多平时只做线下的大型餐饮店&#xff0c;都开始上线外卖平台&#xff0c;如果品牌具有一定规模的话&#xff0c;比起依托第三方的外卖平台&#xff0c;肯定是开发自己的小程序性价…

视频号推广小程序是什么;助你快速引流变现;丨国仁网络资讯

目前微信已经退出了视频号推广小程序,但对于大多数创作者来说还不知道它是干啥的。视频号推广小程序可以比喻视频号“dou+”, 它是腾讯官方专门为视频号博主打造的,以推广视频号内容为主,主要针对三个方向:基础定向投放,可以限定性别、年龄、地域的人群;投放指定账号的粉…

如何快速推广微信小程序,并通过微信小程序赚取睡后收入

微信小程序的搭建&#xff1a; 1、使用邮箱注册微信小程序帐号。 2、完善小程序主体。个人认为小程序的名称以及图标很重要。名称要言简意干&#xff0c;让用户根据名称就能知道小程序是做什么的。图标要简洁、清爽&#xff0c;并且符合主题。 3、开发小程序。自己具有开发能…

获取小程序appid和path教程详细版

打开你需要获取appid的小程序&#xff0c;这里以“饿了么”小程序为例&#xff0c;然后点击右上角的图标 以下为小程序path获取方法 登录你的小程序的微信公众平台https://mp.weixin.qq.com点击右上角的工具&#xff0c;进入后是下面的页面 然后用你输入的微信号微信浏览“饿了…

微信小程序实现展示图片(图片推广小程序可以使用)

实现效果图&#xff1a; 首先就是这个封面是一些图片展示界面&#xff0c;后台返回的都是图片。然后根据返回数据数组的下标进行分类&#xff0c;第一排只显示数组为1&#xff0c;4&#xff0c;7一次类推&#xff0c;第二列是2&#xff0c;5&#xff0c;8的index&#xff0c;第…

微信公众号如何推广自己的小程序以及操作步骤

微信公众号如何推广自己的小程序以及操作步骤 在使用微信公众号推广自己的小程序之前&#xff0c;首先要关联您的小程序。操作步骤如下&#xff1a; 微信公众号如何绑定自己的小程序的第一步&#xff0c;点微信公众号后台的左侧里有个小程序管理&#xff0c; 第二步&#xff…