UML类图的几种关系

泛化(Generalization)

概念:is a kind of 描述类和类之间的继承关系,是一种特殊-一般关系,主要表现为父类与子类之间的继承。

举例:
如下图所示,员工是父类,工程师和经理是子类,工程师和经理都继承了员工父类的属性和行为。
类似的还有:动物(父类)-猫(子类);汽车(父类)-小轿车(子类)
图形表示:用带三角箭头的实线表示,箭头指向父类

在这里插入图片描述
继承分为单重继承和多重继承
单重继承:一个子类有且只有一个父类(如下图所示:活期账户和储蓄账户只继承了银行账户这一个父类)

在这里插入图片描述
多重继承::一个类有两个或两个以上的父类(如下图所示:汽车这个父类下面有陆路车和水上车两个子类,他们下面又有一个子类水陆两用车,水陆两用车既继承了陆地车辆的特征,也继承了水上车的特征,这就是多重继承)
在这里插入图片描述

实现(Realization)

概念:类是接口特征和行为的实现

图形表示:带三角箭头的虚线,箭头指向接口
在这里插入图片描述

关联 (Association)

概念:描述了两个或多个类之间的结构性关系

在这里插入图片描述
关联既可以是双向的,也可以是单向的,单向的关联有一个箭头,双向的关联可以有两个箭头也可以没有箭头

在这里插入图片描述
多向关联:一名老师拥有多名学生,一名学生也可以有多名老师,所以老师与学生的关系是多向关联关系,可以带箭头也可以不带箭头
在这里插入图片描述
单向关联:一个学生拥有多门课程,但是课程是抽象概念,不拥有学生,所以课程和学生之间是单向关联
在这里插入图片描述
自关联:老师与老师之间的关联称为自关联

关联又分为两种
聚合 (Aggregation):松耦合, 整体-部分关系,用空心菱形表示
在这里插入图片描述
解释:书架没了,书也可以独立存在,他们之间没有生命依赖关系,没有强生命力的制约,不是说先有书架再有书
组合 (Composition):整体-部分关系,组合关系用实心菱形表示
在这里插入图片描述
解释:这是一种强耦合关系,先有书,才能有页,没有书,页也就不存在了

依赖 (Dependency)

概念:依赖关系是一种使用关系,说明一个事物规格说明的变化可能影响到使用它的另一个事物。但反之未必。 依赖关系是普遍存在的。

图形表示:依赖关系用虚线箭头表示,箭头指向被依赖一方
在这里插入图片描述

各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖

发布了55 篇原创文章 · 获赞 14 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览