UML中的四种关系

依赖(Dependency)

  • 表示一个类使用(Use )另一个类,是四种关系中最弱的一种关系
  • 依赖关系是单向的
  • 例如动物依赖水,汽车依赖汽油等
    这里写图片描述
  • 具体代码有三种形式(被依赖的类作为局部变量)
    • water是公共的类,animal可以调用
    • water是animal的一个方法中的变量
    • water是animal函数的参数或者返回值

关联(Association)

  • 表示一个类拥有(has)另一个类,关系相对于依赖来说大大增强
  • 分为聚合和组合,例如雁群和大雁(聚合),大雁和翅膀(组合)
    这里写图片描述
  • 这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的
  • 具体代码表现为被关联类作为一个全局变量或属性

泛化(generalization)

  • 是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力
  • 继承是类与类或者接口与接口之间最常见的关系
  • 是一种父子关系,两个类之间的关系非常强
  • 例如鲨鱼继承鱼,麻雀继承鸟
    这里写图片描述
  • 代码上表现为继承,在java中使用extends关键字

实现(realization)

  • 是一个类(class)实现一个或多个接口(interface)的功能(是类与接口的关系)
  • 是一种最常见的关系,设计时鼓励使用
  • 接口可以说是对一种功能的抽象,比如有两个接口:飞翔、捕食,一个鸟(class)类可以实现这两个接口,实现以后,就具有这两个接口所具有的两个功能
  • 在UML中的体现
    这里写图片描述
  • 在java代码中使用关键字implements表示
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值