UML类和类之间的关系

320 阅读2分钟

类和类之间的关系包括6中情况:

泛化关系 generalization

泛化关系,指的就是:类和类、接口与接口之间的继承关系。继承关系可以用IS-A 表示。

image.png

实现关系 relization

接口是一种特殊的抽象类,实现关系(like a)使用的是implements关键字,在UML类图中,使用带空心三角形的虚线表示实现关系

image.png

关联关系 assocition

关联关系指的是,一个类与另一个类之间有某种关联。这种关联关系可以使用HAS-A表示。
关联关系如果进行详细的划分,又可进一步分为单向关联双向关联自关联

image.png

单向关联使用一个带箭头的实线表示,双向关联使用一个不带箭头的实线表示,自关联使用一个带有箭头且指向自身的实线表示

image.png

聚合关系 aggregation

聚合关系描述的是整体和部分的关系,是一种比较特殊的关联关系。在聚合关系中,整体的生命周期,不会决定部分的生命周期。比如:一个教室中有多个学生,教室和学生的关系就是整体和部分的关系,在聚合关系中,整体的生命周期不会决定部分的生命周期,例如:教室没了,学生还在,或者说学生走了教室还在。

image.png

 组合关系 composition

组合关系也可以看作是一种特殊的聚合关系,是一种比聚合关系还要强的关系。整体的生命周期决定部分的生命周期,部分是依附在整体上面的,有时候也有人称为合成关系

image.png

依赖关系 dependency

依赖关系是比关联关系弱的一种关系,是所有关系中最弱的一种,在java语言中体现为返回值,参数,局部变量和静态方法调用。

image.png