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

前端之家收集整理的这篇文章主要介绍了【UML】2.部分与整体的媒介:关系前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

一.概念@H_403_7@

【关联】Association

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

【聚合】Aggregation

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

【组合】Composition

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

【泛化】Generalization

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

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

【依赖】Dependency

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

【实现】Realization

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

二、实例@H_403_7@

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

【聚合】书架上放着书

【组合】鸟和翅膀

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

【依赖】系统和单个窗体

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

三、Rational Rose表示@H_403_7@

【关联】

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

【聚合】

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




【组合】

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




【泛化】

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



【依赖】

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




【实现】

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


四、对比分析@H_403_7@

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

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

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

五、总结@H_403_7@
通过学习UML中的六种关系,掌握每一种关系所表示的意义,在实际系统中能够对类之间的关系进行区分,同时能够用Rational Rose工具将这六种关系正确的表示出来。

猜你在找的设计模式相关文章