设计模式——UML类图六种关系

UML类图

类之间的关系:

  • 依赖(使用)Dependency
  • 关联Association
  • 泛化(继承)Generalization
  • 实现Realization
  • 关联Association
  • 聚合Aggregation
  • 组合Composite

各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

参考:一文带你掌握 14 种 UML 图!


依赖

类之间什么时候存在依赖关系:

  1. 类中用到了对方
  2. 类的成员变量
  3. 方法的返回类型
  4. 方法接收的参数
  5. 方法中使用到的变量

【箭头及指向】:带箭头的虚线,指向被使用者


泛化

其实就是继承关系。是依赖的特例

【箭头指向】:带三角箭头的实线,箭头指向父类


实现

是一种类与接口的关系, 表示类是接口所有特征和行为的实现。是依赖的特例

【箭头指向】:带三角箭头的虚线,箭头指向接口


关联

是一种拥有的关系, 它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子

关联可以是双向的,也可以是单向的。可以是一对一、一对多、多对多

双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者


聚合

是整体与部分的关系, 且部分可以离开整体而单独存在

如电脑与显示器、键盘等部件之间的关系

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体


组合

整体与部分的关系, 但部分不能离开整体而单独存在

手和手指的关系。手指不能脱离手单独存在

组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

【代码体现】:成员变量,级联删除

【箭头及指向】:带实心菱形的实线,菱形指向整体

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值