类之间的关系

类之间各种关系的强弱顺序:依赖 <关联 <聚合 <组合 <实现 =泛化
类之间的关系最常用的有4种,分别是表示类之间使用关系的依赖关系、表示对象之间结构关系的关联关系、表示类之间一般和特殊关系的泛化关系、表示类和接口的实现关系

1.依赖关系

(1)依赖指得是类之间的调用关系,一个类调用了另一个类的方法。

(2)如果类A在它的方法中使用到了另一个类B的方法或者属性,但是这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A,这个时候类A依赖类B。

(3)举例:人在出远门的时候会依赖车的关系;喝水会依赖杯子的关系等,依赖总是单向的。

2.关联关系

(1)关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。

(2)方向性(代表一个类是否拥有能够导航到另外一个类的知识,比如导师与学生之间的关系是属于双向关联;学生与课程之间的关系是属于单向关联)、多重性(有1对1、1对多、多对多关联关系)、聚集性(特指对象之间存在一种”整体与部分“的包含关系,可分为聚合与组合两种具体类型)是描述关联关系的3个特征维度;

3.泛化关系

(1)泛化就是从子类抽象出一个父类 ,包含了继承关系(由父类具体化一个子类)。

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

                                                                           

(3) 继承与泛化可以看作一个逆过程

4.实现关系

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

                                                                              

 

总结:依赖就是代表运行时的临时相关性;关联代表设计时的固定相关性;聚集代表设计时的对象包含关系,关系层层递进。

posted @ 2020-03-17 19:12  年轻无极限zx  阅读(582)  评论(0)    收藏  举报