类之间的关系
类之间的关系有以下几种——
1、依赖关系
- 依赖指得是类之间的调用关系,一个类调用了另一个类的方法。
- 如果类A在它的方法中使用到了另一个类B的方法或者属性,但是这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A,这个时候类A依赖类B。
- 举例:人在出远门的时候会依赖车的关系;喝水会依赖杯子的关系等,依赖总是单向的。
在UML类图设计中,依赖关系用类A指向类B的带箭头虚线表示,如下图所示:

依赖关系uml图
2、关联关系
- 关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。
- 方向性(代表一个类是否拥有能够导航到另外一个类的知识,比如导师与学生之间的关系是属于双向关联;学生与课程之间的关系是属于单向关联)、多重性(有1对1、1对多、多对多关联关系)、聚集性(特指对象之间存在一种”整体与部分“的包含关系,可分为聚合与组合两种具体类型)是描述关联关系的3个特征维度;
在UML类图设计中,关联关系用由关联类A指向被关联类B的带箭头实线表示,在关联的两端可以标注关联双方的角色和多重性标记,如下图所示:

关联关系uml图
3、继承关系
- 继承关系指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。

继承关系uml图
4、实现关系
- 实现指的是一个类实现一个interface接口(可以是多个)的功能,在UML类图设计中,实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。

实现关系uml图
5、聚合关系
- 聚合是关联关系的一种特例,它体现的是整体与部分的关系,此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。
- 在UML类图设计中,聚合关系以空心菱形加实线箭头表示。

聚合关系uml图
6、组合关系
- 组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。
- 在UML类图设计中,组合关系以实心菱形加实线箭头表示。

组合关系uml图
参考资料:http://www.imooc.com/article/3915

浙公网安备 33010602011771号