当前位置:首页 > 科技  > 软件

UML类图的图形表示,你学会了吗?

来源: 责编: 时间:2023-10-06 19:18:26 428观看
导读在UML类图表示类的图形:表示类的图形有三层:第一层是类名字;第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:“+”表示 public“-”表示 private“#”表示 protected不带符号表示 de

在UML类图表示类的图形:0Wk28资讯网——每日最新资讯28at.com

0Wk28资讯网——每日最新资讯28at.com

表示类的图形有三层:0Wk28资讯网——每日最新资讯28at.com

  • 第一层是类名字;
  • 第二层是类的成员变量;
  • 第三层是类的方法。

成员变量以及方法前的访问修饰符用符号来表示:0Wk28资讯网——每日最新资讯28at.com

  • “+”表示 public
  • “-”表示 private
  • “#”表示 protected
  • 不带符号表示 default

注意:0Wk28资讯网——每日最新资讯28at.com

如果是抽象类和抽象方法,那么用斜体字体表示0Wk28资讯网——每日最新资讯28at.com

在UML类图表示接口:0Wk28资讯网——每日最新资讯28at.com

接口在类图中的第一层顶端用构造型 <>表示,下面是接口的名字,第二层是字段常量,第三层是抽象方法。(如果用两层表示,那就只是表示接口名和方法)。0Wk28资讯网——每日最新资讯28at.com

0Wk28资讯网——每日最新资讯28at.com

继承(泛化):0Wk28资讯网——每日最新资讯28at.com

泛化关系(Generalization)是指对象与对象之间的继承关系。如果对象A和对象B之间的“is a”关系成立,那么二者之间就存在继承关系,对象B是父对象,对象A是子对象。例如:一只大雁“is a” 动物,很显然,大雁是和动物是继承关系。0Wk28资讯网——每日最新资讯28at.com

0Wk28资讯网——每日最新资讯28at.com

实现:0Wk28资讯网——每日最新资讯28at.com

实现关系是指接口及其实现类之间的关系,实现关系用空心三角和虚线组成的箭头来表示,从实现类指向接口0Wk28资讯网——每日最新资讯28at.com

0Wk28资讯网——每日最新资讯28at.com

关联:0Wk28资讯网——每日最新资讯28at.com

关联关系(Association)是指对象和对象之间的连接,它使一个对象知道另一个对象的属性和方法。0Wk28资讯网——每日最新资讯28at.com

在Java中,关联关系的代码表现形式为一个对象含有另一个对象的引用。也就是说,如果一个对象的类代码中,包含有另一个对象的引用,那么这两个对象之间就是关联关系。0Wk28资讯网——每日最新资讯28at.com

关联关系有单向关联和双向关联。0Wk28资讯网——每日最新资讯28at.com

双向关联:如果两个对象都知道(即可以调用)对方的公共属性和操作,那么二者就是双向关联。0Wk28资讯网——每日最新资讯28at.com

单项关联:如果只有一个对象知道(即可以调用)另一个对象的公共属性和操作,那么就是单向关联。0Wk28资讯网——每日最新资讯28at.com

大多数关联都是单向关联,单向关联关系更容易建立和维护,有助于寻找可重用的类。0Wk28资讯网——每日最新资讯28at.com

0Wk28资讯网——每日最新资讯28at.com

一个对象可以持有其它对象的数组或者集合,在UML中,通过放置多重性(multipicity)表达式在关联线的末端来表示。多重性表达式可以是一个数字、一段范围或者是它们的组合。多重性允许的表达式示例如下:0Wk28资讯网——每日最新资讯28at.com

  • 数字:精确的数量
  • *或者0..*:表示0到多个
  • 0..1:表示0或者1个,在Java中经常用一个空引用来实现
  • 1..*:表示1到多个

关联关系又分为依赖关联、聚合关联和组合关联三种类型。0Wk28资讯网——每日最新资讯28at.com

依赖:0Wk28资讯网——每日最新资讯28at.com

如果对象A用到对象B,但是和B的关系不是太明显的时候,就可以把这种关系看作是依赖关系。比如说A类的方法形参用到了B类。0Wk28资讯网——每日最新资讯28at.com

public class BClass{ } public class AClass{ private BClass b1; // 依赖关系情况1:成员变量. 这也是关联关系 public void doWork(BClass b2){ // 依赖关系情况2: 方法参数 } public void doWork(){ BClass b3; // 依赖关系情况3: 方法内的局部变量 } }0Wk28资讯网——每日最新资讯28at.com

聚合:0Wk28资讯网——每日最新资讯28at.com

  • 聚合关系是关联关系的一种特例,他体现的是整体与部分,是一种“弱拥有”的关系,即has-a的关系。聚合是整体和个体之间的关系。
  • 例如,汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系。
  • 与关联关系一样,聚合关系 也是通过实例变量实现的。但是关联关系所涉及的两个类是处在同一层次上的,而在聚合关系中,两个类是处在不平等层次上的,一个代表整体,另一个代表部分。
  • 聚合关系表示整体和个体的关系,整体和个体可以相互独立存在,一定是有两个模块分别管理整体和个体。
  • 在UML类图中,聚合通常使用空心菱形+实线箭头表示

0Wk28资讯网——每日最新资讯28at.com

组合:0Wk28资讯网——每日最新资讯28at.com

  • 也是整体与部分之间的关系,但是整体会影响到部分的生存周期,只要整体对象不存在了,部分对象也随之消亡。如,公司和部门、猫和猫的腿。
  • 组合关系是关联关系的一种特例,他体现的是一种contains-a(包含)的关系,这种关系比聚合更强,也称为强聚合。
  • 它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,组合关系是不能共享的。代表整体的对象需要负责保持部分对象和存活,在一些情况下将负责代表部分的对象湮灭掉。代表整体的对象可以将代表部分的对象传递给另一个对象,由后者负责此对象的生命周期。换言之,代表部分的对象在每一个时刻只能与一个对象发生组合关系,由后者排他地负责生命周期。部分和整体的生命周期一样。
  • 整体和个体不能独立存在,一定是在一个模块中同时管理整体和个体,生命周期必须相同(级联)。
  • 在UML类图中,组合通常使用实心菱形+实线箭头表示

0Wk28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-12125-0.htmlUML类图的图形表示,你学会了吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 简约至上,轻松玩转命令行:proper_cli 让 CLI 开发变得简单易用

下一篇: 对 JsonConvert 的认识太肤浅了,终于还是遇到了问题

标签:
  • 热门焦点
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 自动化在DevOps中的力量:简化软件开发和交付

    自动化在DevOps中扮演着重要角色,它提升了DevOps的效能。通过自动化工具和方法,DevOps团队可以实现以下目标:消除手动和重复性任务。简化流程。在整个软件开发生命周期中实现更
  • 这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • 10天营收超1亿美元,《星铁》比《原神》差在哪?

    来源:伯虎财经作者:陈平安即便你没玩过《原神》,你一定听说过的它的大名。恨它的人把《原神》开服那天称作是中国游戏史上最黑暗的一天,有粉丝因为索尼在PS平台上线《原神》,怒而
  • 微博大门常打开,迎接海外画师漂洋东渡

    作者:互联网那些事&ldquo;起猛了,我能看得懂日语了&rdquo;。&ldquo;为什么日本人说话我能听懂?&rdquo;&ldquo;中文不像中文,日语不像日语,但是我竟然看懂了&rdquo;&hellip;&hell
  • 三星显示已开始为AR设备研发硅基LED微显示屏

    7月18日消息,据外媒报道,随着苹果首款头显产品Vision Pro在6月份正式推出,AR/VR/MR等头显产品也就将成为各大公司下一个重要的竞争领域,对显示屏这一关
Top