【UML】2.部分与整体的媒介:关系

UML模块中的任何事物都不是独立存在的,他们之间存在着一定的关系。下面就对这些关系,分类了解一下。

一.概念

【关联】Association

两个类存在某种语义上的联系,关联有单向关联和双向关联。

【聚合】Aggregation

类之间是整体和部分的关系。”聚”表示聚在一起的意思,也表示“部分”可以独立”整体”存在。描述“has-a”的关系。

【组合】Composition

整体有管理部分的特有的职责并且他们有一致的生命期,部分不能脱离整体存在。描述“contains-a”的关系。

【泛化】Generalization

泛化是一般事物和该事物特殊种类之间的关系,描述类之间“Is a kind of”的关系。子类继承父类,又分为单继承和多继承,由名字可知:子类继承单个父类的属性和操作就是单继承。

泛化的通过修改父类而修改子类共同的属性和方法,实现代码的重用,也有利于系统维护。

【依赖】Dependency

是两个事物之间的使用关系。A依赖于B。当B发生改变的时候A也会改变。

【实现】Realization

用来规定接口和实现接口的类或组件之间的关系,不继承结构只继承行为。一个接口的实现,要先实现对应的类,一个类可以有多个接口。实现使用的情况:1.在接口与实现接口的类间。2.在用例以及实现该用例的协作间

二、实例

【关联】一个人为一家公司工作

【聚合】书架上放着书

【组合】鸟和翅膀

【泛化】人类,分为男人和女人

【依赖】系统和单个窗体

【实现】篮球得分的方式。扣篮,投篮,罚球

三、Rational Rose表示

【关联】

1.关联用横实线表示 2.employee表示person类扮演的角色 3.n和1表示多重性关系。一个公司有许多员工

【聚合】

1.聚合用带空心菱形头的实线表示 2.菱形头指向整体。




【组合】

在聚合的基础上把空心的变成实心的。




【泛化】

1.带空心箭头的实线表示 2.由子类指向父类 3.此图表示单继承



【依赖】

1.带箭头的虚线表示 2.A依赖于B,则A指向B




【实现】

1.带空心箭头的虚线表示 2.一个类可以有多个接口 3.类指向接口


四、对比分析

1.聚合和组合是特殊的关联。某种意义上说,关联,泛化和实现都属于依赖关系的一种。

2.聚合和组合都表示部分和整体的关系。但是聚合表示部分能够脱离整体而存在。例如汽车和轮胎。而组合表示部分不能脱离整体存在。当整体不存在了,部分也就没有存在的意义。例如鸟和翅膀。不过同一个部分和整体在不同的环境中,表示也可能不同。例如对于汽车制造商来说,汽车和轮胎是聚合关系。而对于汽车销售商来说,汽车和轮胎就是组合的关系了。

3.这几种关系是语义级别的不同。按照关系表现的强弱依次是:泛化=实现>组合>聚合>关联>依赖

 五、总结

通过学习UML中的六种关系,掌握每一种关系所表示的意义,在实际系统中能够对类之间的关系进行区分,同时能够用Rational Rose工具将这六种关系正确的表示出来。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 53
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值