前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【UML建模】(3) UML建模之类图

【UML建模】(3) UML建模之类图

作者头像
码农飞哥
发布2022-03-31 20:10:49
1.1K0
发布2022-03-31 20:10:49
举报
文章被收录于专栏:好好学习

类图的介绍

类图是显示一组类、接口以及它们之间关系的图。

类图包含的元素

  1. 基本元素:类(Class), 接口(interface)
  2. 元素之间的关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

类(Class)

类是一组拥有相同的属性、操作、方法、关系和行为的对象地描述符。

在UML中,类表达成一个有三个分隔区的矩形。其中顶端显示类名,中间显示类的属性,尾端显示类的操作。

参数列表:是一些按照顺序排列的属性定义了操作的输入。例如:oper(arg1:int, arg2:double=3.2)

在这里插入图片描述

接口(interface)

接口代表了一份契约,实现该接口的类元必须履行它,在UML中接口由一个带名称的小圆圈表示;也可以表示为带有<>构造型的类。

在这里插入图片描述

泛化关系(Generalization)

泛化是继承关系的一种,子类继承父类的所有行为和属性,子类可以新增新的功能,uml中使用带空心三角箭头的实线标示,由子类指向父类。

在这里插入图片描述

关联关系(Association)

使类可以感知到其他类的行为和属性,关联分为双向关联和单向关联,如下:企鹅类和气候类是关联关系,是属于同一层次的对象。

在这里插入图片描述

聚合关系(Aggregation)

聚合是关联关系的一种,聚合主要描述整体与部分直接的关系,聚合有分为基本聚合和组合聚合,

  1. 基本聚合:对应基本聚合来说部分类的生命周期独立于 整体类 的生命周期,uml中使用一条从整体类到部分类的实线,并在整体类的关联末端画一个未填充棱形标示:

在这里插入图片描述

一个汽车有4个轮子组成,轮子的生命周期不依赖与车的,因为车轮可以独立于车独立存在。

  1. 组合聚合:组合聚合是聚合的一种情况,不同在于部分类的生命周期依赖整体类,uml中使用一条从整体类到部分类的实线,并在整体类的关联末端画一个填充棱形标示:

在这里插入图片描述 一个公司有至少一个部门组成,部门要依赖于公司的存在而存在,不会存在一个部门而它不属于某一个公司。

关联和聚合的区别

关联关系所涉及的两个对象是处于同一个层次上的。比如人和自行车就是一种关联关系,而不是聚合关系,因为人不是由自行车组成的。 聚合关系涉及的两个对象处于不平等的层次上,一个代表整体,一个代表部分。比如:电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。 组合关系:代表整体的对象负责部分对象的生命周期。公司不存在了,部门也没有意义了。再比如:人和五脏六腑,和四肢的关系

实现关系(Realization)

实现是接口和类的关系,指类实现接口中定义的方法。uml中用带空心三角箭头的虚线,箭头指向接口类

在这里插入图片描述

依赖关系(Dependency)

即一个类的实现需要其他类的协助,代码表现为方法参数,局部变量,静态方法,uml中使用一条箭头的虚线,从依赖方指向被依赖的类。

在这里插入图片描述

综合例子

在这里插入图片描述 1、企鹅与气候是关联关系 2、鸭与唐老鸭是继承关系 3、大雁与飞翔是实现的关系 4、雁群与大雁是聚合关系 5、动物与氧气,水是依赖关系 6、鸟与翅膀是组成关系

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农飞哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 类图的介绍
  • 类图包含的元素
    • 类(Class)
      • 接口(interface)
        • 泛化关系(Generalization)
          • 关联关系(Association)
            • 聚合关系(Aggregation)
              • 关联和聚合的区别
                • 实现关系(Realization)
                  • 依赖关系(Dependency)
                  • 综合例子
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档