UML常用关系

关联关系使用一条直线表示

在这里插入图片描述

用于描述不同类的对象之间的结构关系,将多个类的实例联系在一起
是一种静态关系,基本与程序的运行没有关系
比如,部门与员工的关系,就是关联关系
关联关系一般不强调方向,表示互相“知道”对方,也就是存在引用
关联关系有多重性 比如一对一关联 一对多关联等 可以任意关联N对N关联
如果特别强调方向,就使用箭头,比如
那么表示A知道B但是B不知道A
也就是说,关联关系有两种图形
直线或者直线箭头
关联关系表示存在引用,比如员工类的定义中有“部门”属性字段

在这里插入图片描述

实现关系是带空心箭头的虚线表示的,比如A实现B,箭头指向父类、接口

在这里插入图片描述

泛化关系是带空心箭头的直线表示的,比如A继承B

在这里插入图片描述

聚合关系是带空心的菱形的直线表示的,比如 A聚合到B上,也就是B由A组成
聚合关系用于类图,表达整体由部分构成的语义,比如部门由许多人员组成
整体和部分不是强依赖的,即使整体不存在,依然可以存在部分,即使没有部门,人员仍旧存在

在这里插入图片描述

组合关系是带实心的菱形的直线表示的,比如A组合成B,或者说B由A构成
表达整体拥有部分的含义,组合关系是一种特殊的强依赖的聚合关系
如果整体不存在,那么部分也不存在了
比如,汽车由轮胎底盘发动机构成,汽车不存在了,自然也不存在发动机了

在这里插入图片描述

依赖关系使用带箭头的虚线表示,比如 A依赖B
用于描述一个对象在运行期间会使用到另外一个对象的关系
依赖关系是一种临时性的,简言之就是不同场景会发生变化
比如人和车
如果是驾驶场景,车依赖人(驾驶员),如果是乘车出行,那就是人依赖车(公交、出租)
很显然,依赖关系比关联关系更加弱
依赖关系是一种使用关系
比如一个类的方法中的局部变量、方法的参数或者对静态方法的调用,都是一种依赖

在这里插入图片描述

流关系
将一个对象的两个版本以连接的方式连接起来.他表示一个对象的值/状态和位置的转换.种类包括:变成(同一个对象的版本不同)和复制(从现有对象创造出一个新的对象)

在这里插入图片描述

可见性使用+ - #表示
+ public
- private
# protected

参考链接:https://www.cnblogs.com/noteless/p/9907703.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
UML(Unified Modeling Language)是一种通用的建模语言,用于以标准化的形式表达软件系统的设计。UML关系是指UML中的不同元素之间的关系,包括依赖关系、关联关系、聚合关系和组合关系等。Java作为一种常用编程语言,可以用来实现UML中的各种关系。 以一个简单的Java类为例,假设这个类是一个电视机类。通过UML建模,可以得出该类与其他类的关系。首先,该类会依赖于一些其他类,例如遥控器类、电源类等。这些类对电视机类有影响,但电视机类不会直接调用它们,因此可以使用依赖关系来表示。 其次,电视机类与遥控器类之间有关联关系,即电视机中需要有一个遥控器对象来实现遥控功能。同样地,电视机也需要电源类来实现开关机功能,并且与电源类之间也是关联关系。 再者,电视机与扬声器类之间是聚合关系,表示电视机具有一个或多个扬声器对象作为其一部分,并且这些对象可以独立于电视机存在。同时,电视机类与屏幕类之间也是聚合关系,表示电视机具有一个屏幕对象作为其一部分。 最后,电视机与遥控器类之间是组合关系,表示遥控器对象是电视机的一部分,即不可能存在一个遥控器对象同时被多个电视机类共享。组合关系是一种更强的聚合关系,强调了部分与整体之间的“包含”关系。 实现UML关系需要相应的Java代码来实现。以关联关系为例,可以在电视机类中添加一个遥控器对象作为其属性,在构造方法中初始化该对象,并在类中定义相应的方法来操作遥控器对象。同样地,还需要按照UML关系对其他类进行设计和实现。这样,我们就可以通过UML建模来有效地表示Java中的各种关系,使系统的设计更加清晰和易于理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值