UML类图的依赖、关联、聚合、组合、泛化、继承

概述

在UML类图中,类之间的耦合关系存在多种,它们从弱到强排序为:

依赖 < 关联 < 聚合 < 组合 < 泛化 < 继承

如下图所示:
在这里插入图片描述

依赖(dependency)

  • 说明:是一种使用关系。
  • 形状:虚线+V型箭头,箭头指向被使用者。
  • 体现:局部变量、方法参数或者调用静态方法。
  • 示例:持久层DemoDao类的insert(DemoPo po)方法中使用了参数DemoPo po

关联(association)

  • 说明:是一种拥有关系。
  • 形状:实线+V型箭头,箭头指向被拥有者。
  • 体现:成员变量。
  • 示例:控制层DemoController类中拥有成员变量服务层DemoService

聚合(aggregation)

  • 说明:是一种整体与部分的关系,部分可以单独存在
  • 形状:空心菱形+实线+V型箭头,菱形指向整体,箭头指向部分。
  • 体现:成员变量。
  • 示例:公司Company作为一个整体,旗下拥有很多个员工Employee,这些员工是公司这个整体的一部分;员工Employee也可以单独存在,有自己的行为。

组合(composition)

  • 说明:是一种整体与部分的关系,部分只能依赖整体存在
  • 形状:实心菱形+实线+V型箭头,菱形指向整体,箭头指向部分。
  • 体现:成员变量。
  • 示例:自定义的链表MyList作为一个整体,其内有很多个节点Node,这些节点是链表这个整体的一部分;节点Node不能单独存在,它的一切行为都是为了服务链表。

实现(realization)

  • 说明:是一种接口与类的关系。
  • 形状:空心三角箭头+虚线,箭头指向接口,虚线指向类。
  • 体现:类实线接口。
  • 示例:接口List的一个实现类是ArrayList

泛化(generalization)

  • 说明:是一种父类与子类的关系。
  • 形状:空心三角箭头+实线,箭头指向父类,实线指向子类。
  • 体现:子类继承父类。
  • 示例:父类AbstractPerson的一个子类是Person

总结

在UML类图中,类之间的耦合关系存在多种,它们从弱到强排序为:

依赖 < 关联 < 聚合 < 组合 < 泛化 < 继承

参考文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值