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

UML 做棵大树 来源:00润物无声00 6年前 (2018-01-06) 1909次浏览 0个评论

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 工具将这六种关系正确的表示出来。

做棵大树 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明【UML】2.部分与整体的媒介:关系
喜欢 (0)
[欢迎投币]
分享 (0)
关于作者:
一个整天无所事事的,有时候忽然热血的孩子
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址