【不专一的开发】UML(一)它的四种关系

本文详细解析了UML中的关联、依赖、泛化及实现等类间关系,并通过实例说明了普通关联、聚合与组合的区别,以及依赖、泛化和实现关系的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

关联关系

依赖关系

泛化关系

实现关系


 

关联关系

表示两个或多个类的关系,关联关系又包括:普通关联、聚合和组合关系。

1、普通关联关系(包含单项关联 有箭头;双向关联 没有箭头;多种关联;自身关联)

比如:person类和company类

Company角色(Role)名雇主employer,Person角色(Role)名雇员employee

他们之间的关联关系的多种指示,数字表示:一个company包含多个Person,一个person属于一个company

2、聚合关系

【概念】描述一种整体和部分之间的关系,锁耦合的关系

【表现形式】用空心菱形+直线表示  菱形指向整体

比如:书和书架,1个书架上可以存放0到多本书,而每本书只能放在一个书架上。同时如果没有书架书是可以单独存在的,这两个类之间没有严格的制约关系,就是用聚合关系表示

3、组合关系

【概念】整体和部分之间的关系,解耦合的关系

【表现形式】用空心菱形+直线表示  菱形指向整体

比如:一个PC电脑和CPU,1个PC对应一个CPU,每个CUP对应一个PC。同时如果PC里面灭有CPU这是不完整的PC,这里CPU和PC之间有严格的制约关系,就用组合关系

 

依赖关系

是一种使用关系,可以表示两个类两个包或构建之间的关系。

比如:

一个窗体类有一个方法是handleEvent(e:Event):void 

这个方法中提到了一个参数Event

 所以window类要使用这个event类 也就是window类依赖于event类才能实现handleEvent这个方法

 

泛化关系

一个类的子类和他的父类之间是泛化关系,也就是子类继承了父类的属性方法,也成为继承关系。

比如 window类的子类ConsoleWindow和DialogBox他们的关系如图所示

实现关系

一个类描述了另一个类保证事项的方法,为另一个类的实现做一个接口保证他可以实现功能。接口有也可以用小圆圈的形式表示在连接圆圈形式的接口的时候是直线连接。

比如:window类可以通过一个接口abstractWindow来实现他的open和close功能

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邢美玲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值