UML中类之间的几种关系

本文详细介绍了UML中类之间的六种关系:关联、依赖、聚合、组合、泛化和实现。关联表示类之间的对应关系,如客户和订单;依赖是类之间的调用关系;聚合和组合是整体与部分的关系,聚合允许部分独立,组合则不独立;泛化表示继承关系;实现是类实现接口的关系。各种关系在代码中表现形式各异,需要结合业务场景来理解和区分。
摘要由CSDN通过智能技术生成

类之间可能存在以下几种关系:关联(association)、依赖(dependency)、聚合(Aggregation,也有的称聚集)、组合(Composition)、泛化(generalization,也有的称继承)、实现(Realization)。

关联是指两个类之间存在某种特定的对应关系,例如客户和订单,一个订单只能属于某个客户,一个客户可能会有多张订单。根据方向,分为单向和双向。根据对应的数量分为一对一、一对多、多对多等。对应的UML图如下所示:

关联关系用实线+箭头表示。上图显示Customer和Order是双向一对多关联关系。对应的Java代码如下所示:

class Customer {
  private Integer id;
  private String name;

  private Set<Order> orders;

  public Set<Order> getOrders() {
   return orders;
  }

  public void setOrders(Set<Order> orders) {
   this.orders = orders;
  }

}

class Order {
  private Integer id;
  private float money;

  private Customer customer;

  public Customer getCustomer() {
   return customer;
  }

  public void setCustomer(Customer customer) {
   this.customer = customer;
  }

}

Customer和Order是双向一对多关联关系,那么在Customer中应该有Order的集合,在Order中应该Customer的属性。

依赖指的是类之间的调用关系。类A访问类B的属性或方法,或者类A负责实例化类B,那么就说类A依赖于类B。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值