首页 > 其他分享 >UML _ 对象图

UML _ 对象图

时间:2022-09-26 09:25:58浏览次数:42  
标签:快照 对象 模型 类图 实例 UML 特定

对象图一般不用,但是对象会在以后用到,因此要学习
对象图是UML中的非正式图,使用较为有限,主要用于表示系统在某个特定时刻的具体情况。

对象图(Object Diagram)可以描述系统在某一个特定时间点上的静态结构,是类图的实例和快照;用于描述系统中参与交互的各个对象 在某一时刻的状态(属性及当前值) 。

使用场景:
对象图的使用十分有限,主要用于说明系统在某一特定时刻的具体运行状态。
一般在论证类模型的设计时使用,也就是说在建立复杂逻辑的类交互时,可以用对象图辅助说明类图

作用:

  1. 说明复杂的数据结构
    使用对象图描绘对象之间的关系,可以帮助说明复杂的数据结构在某一时刻的快照,从而有助于对复杂数据结构的抽象。
    对于逻辑较复杂的类交互时,可以考虑画出一些对象图来做补充说明。

  2. 表示快照中的行为
    对象图通过一系列的快照,可以有效表达事物的行为。
    当设计类模型时,可以通过对象图模拟出一个运行时状态,以验证运行时设计的合理性。

组成:
对象图中包含两个组成:

  1. 对象(Object)
    对象是类的特定实例

  2. 链(Link)。
    链是类关系的实例,表示对象之间的特定关系。

对象
对象的特性:
标识:在生命周期内它有唯一的名称。
状态:包括对象的所有属性和这些属性的当前值。
行为:可以调用操作。

对象—对象与类的区别
对象是一个存在于时间和空间中的具体实体,而类是一个模型,该模型抽象出对象的“本质”。

  • 类是一般化,对象是个性化。
  • 类是定义,对象是实例。
  • 类是抽象,对象是具体。

表示:
一般是两栏,且一般名字用下划线标出
有三种常见的形式:

  1. 对象名:类名
    标准表示法。由于对象是具体事物,则所有属性均已确定,因此在属性后面列出其值。

  2. :类名
    匿名表示方法。

  3. 对象名
    省略表示法,即省略掉类名。


链是两个或多个对象之间的独立连接,是类关系的实例
链分为单向链和双向链,链的两端可以显示角色。

image

image

创建

对象图要基于类图来绘制,即先画类图,再画对象图。

注意:
SU免费版中没有专门的对象图,可在协作图中表示。

和类图对比

表示方法上的区别:
image

含义与作用上的区别:
类图所建立的模型描述的是通用的情况;而对象图所建立的模型描述的是某种特定的情况。
类图可以完整地描述系统的对象结构;对象图则不能。
类图中的一个类,可能对应对象图中的多个对象。

标签:快照,对象,模型,类图,实例,UML,特定
From: https://www.cnblogs.com/kingwz/p/16729719.html

相关文章

  • 迭代器遍历对象 快速失败和安全失败
    一、快速失败(fail—fast)在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出ConcurrentModificationException。原理:迭......
  • Nested嵌套对象类型还挺实用
    上一篇文章中,我们学习了Join类型的父子文档,今天继续学习一下嵌套文档,毕竟嵌套文档也是Elasticsearch推荐的,首先我们看下面这条语句PUTword_document/_doc/1{"title"......
  • 使用IOptionsSnapshot读取appsettings配置文件,将Json映射到对象
    {"Logging":{"LogLevel":{"Default":"Information","Microsoft.AspNetCore":"Warning"}},"AllowedHosts":"*","ConnectionStri......
  • SpringMVC域对象共享数据
    使用ServletAPI向request域对象共享数据@RequestMapping("/testServletAPI") publicStringtestServletAPI(HttpServletRequestrequest){ request.setAttribute("test......
  • vue中检测不到数组或者对象发生改变,如何解决? vue更新数组时触发视图更新的方法
    vue中检测不到数组或者对象发生改变,如何解决? this.$set(对象/数组,键,值)Vue.set(对象/数组,键,值)给对象增加新属性、给数组增加属性都可以响应!this.$delete(对......
  • C++ 自学笔记 对象的初始化
    数组的初始化:  在C++中 struct≈Class;struct里面可以有函数。 默认构造函数:没有参数的构造函数就是默认构造函数 ......
  • Scanner对象
    Scanner对象我们可以通过Scanner类来获取用户输入基本语法Scannerscanner=newScanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取......
  • 候捷-C++程序设计(Ⅱ)兼谈对象模型
    目录笔记参考学习目标转换函数与explicitpointer-likeclassesfunction-likeclasses模板template模板特化与偏特化模板模板参数引用(reference)关于虚指针(vptr)和虚表(vtbl)关......
  • 方法引用基本介绍和方法引用-通过对象名引用成员方法
    方法引用基本介绍在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作,那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有......
  • navigation 对象
    navigation对象​navigator对象包含有关浏览器的信息.它有很多属性,我们最常用的是userAgent,该属性可以返回由客户机发送服务器的user-agent头部的值。下面前......