UML静态图-对象图

概述

静态图包含类图、对象图和包图的主要目的是在系统详细设计阶段,帮助系统设计人员以一种可视化的方式来理解系统的内部结构和代码结构,包括类的细节、类的属性和操作、类的依赖关系和调用关系、类的包和包的依赖关系。

对象图与类图之间的关系,就好比对象与类之间的关系,对象是赋予了某种特殊值时的类的实例。对象图拥有与类图不一样的表示法和应用场景。

一、对象图表示法

对象图用来表示类的实例。对象图显示某时刻对象和对象之间的关系,是类图的变化,一个对象图可看成一个类图的实例(Instance),对象图表示的是类的对象实例而不是真实的类。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

与类图中的表示法一样,对象图中并无新的表示法,唯一的区别是对象名下要加下画线,可以认为,只有对象而无类的类图就是一个“对象图”。

如图 3-15 所示,它表示了类 User 的对象图。
在对象图中,对象名可以有3种表示形式:

(1)对象名:类名。
(2):类名。
(3)对象名。
在这里插入图片描述

二、对象图的使用场景–席列图和协作图

实际上,对象图几乎很少被用到,它包含的信息量太小,仅仅用于呈现某一时刻对象的值,对软件的设计几乎没有太大的帮助,使用远没有类图广泛。不过它们在解释复杂关系的细小问题时(特别是递归关系时)很有用。例如,一个类图表示一个大学的Department 可以包括其他很多的Departments。

对于对象图来说无须提供单独的形式。类图中就包含了对象,所以只有对象而无类的类图就是个“对象图”。然而,“对象图”这条短语在刻画各方面特定使用时非常有用。

对象图显示对象集及其联系,代表了系统某时刻的状态。它包含带有值的对象,而非描述符,当然,在许多情况下对象可以是原型。用协作图可显示一个可多次实例化的对象及其联系的总体模型,合作图包含对象和链的描述符(类元角色和联系角色)。如果协作图实例化,则产生了对象图。

对象图不显示系统的演化过程,为此目的,可用带消息的协作图或用序列图表示一次交互。例如,如图3-16所示显示了一个序列图,序列图上方的3个操作对象就是采用对象图来表示的。

在这里插入图片描述
再比如图 3-17所示的协作图中,其中的3个操作对象也是采用了对象图来表示的。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/20954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day46 动态规划part06

完全背包问题 完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。先遍历物品还是先遍历背包以及遍历顺序 根据递推公式可知:每一个dp需要根据上方和左方的数据推出,只要保证数据左上方数据是递推出来的这种两个for循环的顺序就是可…

【python学习】Anaconda的介绍、下载及conda和pip换源方式(切换到国内镜像源)

什么是Anaconda Anaconda 是一个专为数据科学和机器学习预装了多种库的Python发行版。 提供了包管理与环境管理的功能解决了多个版本python并存的问题解决了第三方包安装问题 如何下载Anaconda 官网地址:https://www.anaconda.com/ 点击右上角的 Free Download …

C语言王国——选择与循环(1)

目录 一、引言 二、选择结构 1,if语句 1.1,if...else...语句 1.2,多分支语句 1.3悬空else的问题 2,switch语句 2.1,switch 2.2,break 2.3,default 一、引言 写了几个C语言代码我发现C语…

华为坤灵交换机S300, S500, S210,S220, S200, S310 如何WEB抓包

通过S系列交换机配置端口镜像实现抓包 1、应用场景 端口镜像是指将经过指定端口(源端口或者镜像端口)的报文复制一份到另一个指定端口(目的端口或者观察端口)。在网络运营与维护的过程中,为了便于业务监测和故障定位,网络管理员时常要获取设备上的业务报…

队列——一种操作受限的线性表

队列 队列(Queue)简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队,删除元素称为出队或离队。队列中的元素是先进先出(Fir…

MySQL学习——选项文件的使用

MySQL 的许多程序都可以从选项文件(有时也被称为配置文件)中读取启动选项。选项文件提供了一种方便的方式来指定常用的选项,这样你就不必每次运行程序时都在命令行上输入这些选项。 要确定一个程序是否读取选项文件,你可以使用 -…

man命令的作用

man命令是Linux操作系统中一个非常实用的命令,它用于查看命令的手册页面,帮助用户了解特定命令的用法、选项和参数。这不仅对新用户在学习如何使用新命令时很有帮助,也方便了经验丰富的用户快速查找命令的详细信息。以下是具体介绍&#xff1…

[论文精读]Supervised Community Detection with Line Graph Neural Networks

论文网址:[1705.08415] Supervised Community Detection with Line Graph Neural Networks (arxiv.org) 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 ⭐内涵大量可视…

高速模拟信号链的设计学习

目录 概述: 定义: 断开: 链路设计: 结论: 概述: 由于对共模参数及其与设备之间的关联缺乏了解,客户仍然会提出许多技术支持问题。ADC数据表指定了模拟输入的共模电压要求。关于这方面没有太…

jenkins应用2

1.jenkins应用 1.jenkins构建的流程 1.使用git参数化构建,用标签区分版本 2.git 拉取gitlab远程仓库代码 3.maven打包项目 4.sonarqube经行代码质量检测 5.自定义制作镜像发送到远程仓库harbor 6.在远程服务器上拉取代码启动容器 这个是构建的整个过程和步骤…

C# 反射类Assembly 程序集(Assembly)用法

常见的两种程序集: 可执行文件(.exe文件)和 类库文件(.dll文件)。 在VS开发环境中,一个解决方案可以包含多个项目,而每个项目就是一个程序集。 他们之间是一种从属关系,也就是说&…

【NLP开发】Python实现聊天机器人(微信机器人)

🍺NLP开发系列相关文章编写如下🍺:1🎈【小沐学NLP】Python实现词云图🎈2🎈【小沐学NLP】Python实现图片文字识别🎈3🎈【小沐学NLP】Python实现中文、英文分词🎈4&#x1…

转让北京电力施工总承包二级资质变更条件和流程

在电力工程领域,资质等级是企业能否参与竞标、承接工程的重要标志之一。北京电力工程总包二级资质的转让,是指已经取得该资质的企业将其资质转让给需要的企业。这种转让是基于合作与共赢的原则,旨在推动电力工程行业健康、稳定发展&#xff0…

记录使用自定义编辑器做试题识别功能

习惯了将解析写在代码注释,这里就直接上代码啦,里面用到的bxm-ui3组件库是博主基于element-Plus做的,可以通过npm i bxm-ui3自行安装使用 // 识别方法: // dom 当前识别数据所在区域, questionType 当前点击编辑选择的题目类型&a…

Qt | Qt 资源简介(rcc、qmake)

1、资源系统是一种独立于平台的机制,用于在应用程序的可执行文件中存储二进制文件(前面所讨论的数据都存储在外部设备中)。若应用程序始终需要一组特定的文件(比如图标),则非常有用。 2、资源系统基于 qmake,rcc(Qt 的资源编译器,用于把资源转换为 C++代码)和 QFile …

java—MyBatis框架

简介 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&…

软件公司为什么必须要使用低代码系统?

在当今软件行业全国比较内卷的大环境下,软件公司面临着前所未有的挑战。为了在这个竞争激烈的市场中生存并脱颖而出,驰骋低代码设计者认为,软件公司必须要使用低代码系统。以下是几个关键的原因: 时代发展的必然选择 低代码系统是…

领导力中的说服艺术

本文主要介绍了亚里士多德修辞三角理论,即演讲者在说服听众时如何运用品格(Ethos)、情感(Pathos)和逻辑(Logos)三种基本的修辞手法。原文: The Art of Persuasion in Leadership 亚里士多德的说…

【自动驾驶技术】自动驾驶汽车AI芯片汇总——地平线篇

0. 前言 按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。 本篇文章是这个系列的第二篇&#x…

50个常用的Docker命令及如何使用

这里整理了50个常用的Docker命令以及每个命令的使用方法。 docker version:显示Docker版本信息。 示例:docker version docker info:显示Docker系统信息。 示例:docker info docker pull <image>:从Docker Hub下载镜像。 示例:docker pull ubuntu docker run <i…