对象图对包含在类图中的事物的实例建模,对象图显示了在某一时间点上一组对象以及他们之间的关系。对象图用于对系统的静态设计视图或静态交互视图建模,这包括对某一时刻的系统快照建模,表示出对象集、对象的状态以及对象之间的关系。

举个简单的例子,我们大家都有看足球竞赛的经验,足球竞赛是一种极其简单的运动,即一群人在一块地上疯狂地追逐一个白色的球,在电视机前的我们,只是比较模糊的观看着运动员的踢球状态,难以察觉到细微之处和每个运动员特有的踢球风格。这个时候,从对象的角度来说,我们可以把运动暂停一下,就可以区分出各个球员,并显现出一幅与前者很不相同的比赛画面。不再是一群人,现在能够区分出前锋、前卫和后卫。更深一步地,可以明白这些球员如何协作,他们用怎样的策略去守门、运球、抢球和进攻。好了,现在我们一起来学习一下对象图的相关内容,首先我们来了解一下对象图这一章的主要内容:

首先,我们来了解一下类的概念以及类具有哪些特征:

通过了解,我们知道类和对象之间有着微妙的关系,接下来,我们就一起来比较一下类和对象:

说到类和对象,我们很容易想到类图和对象图,我们以车为例,画一个类图:

我们知道,车可以抽象成一个类,轮子和引擎属于车的一个对象,再以车为例子,看看她的对象图又是如何的呢:

那么,我们到底如何绘制对象图呢?以及如何阅读对象图呢?见下图:

每个图,都有自己存在的意义,以及自己的价值,那对象图具体在那些方面有着重要的应用:

接下来,以机房收费系统为例,机房收费系统中有三个对象分别是一般用户,操作员和管理员,我们可以把这三个抽象成一个类,每一个都具有增删改查的方法,在这里,我把增删改查也抽象成了一个类,首先,我们来看一般用户的对象图:

其次,操作员的对象图:

最后,管理员的对象图:

对象图是类图的实例,几乎使用与类图完全相同的标识,他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

对象图用来描述系统的各个对象在某一时刻的状态,对象图和类图一样都是静态结构图,他们是从实际的或原型化的场景去表达,对象图显示了某一时刻对象与对象的关系。一个对象图可以看作类图的特殊用例,类图中的关系同样适用在对象图中。可以这样理解,对象图就是类图的实例,对象图中的元素在类图中都可以找到,只是把类图中的类元素换成对象即可。而类图中类元素之间的关系,在对象图中同样适用。UML之旅,未完,待续......

UML之对象图的更多相关文章

  1. 【UML】对象图Object diagram(转)

    http://blog.csdn.net/sds15732622190/article/details/48894751 前言 今天要说的是UML中的对象图.他与类图,合作图都有关系,是类图的实例化. ...

  2. [转载]一个标准java程序员的进阶过程

    第一阶段:Java程序员 技术名称 内                 容 说明 Java语法基础 基本语法.数组.类.继承.多态.抽象类.接口.object对象.常用类(Math\Arrarys\S ...

  3. Java技术体系图

    Java程序员高级特性              反射.泛型.注释符.自动装箱和拆箱.枚举类.可变              参数.可变返回类型.增强循环.静态导入        核心编程       ...

  4. 从程序员到CTO的Java技术路线图(我爱分享)

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  5. 从程序员到CTO的Java技术路线图 作者:zz563143188

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  6. [刘阳Java]_Java程序员的成长路线_第3讲

    按照Java从业人员的职位晋升来说,Java程序成长路线大致如下 Java程序员 JavaEE初级软件工程师 JavaEE中级软件工程师 JavaEE高级软件工程师 Java架构师 按照职业发展方向, ...

  7. Java 技术体系图

    Java 程序员 高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变 参数.可变返回类型.增强循环.静态导入 核心编程 IO.多线程.实体类. 集合类.正则表达式. XML 和属性文件 图形编 ...

  8. Java Web指导方向

    第一阶段 第二阶段 第三阶段 第四阶段 第五阶段 第六阶段 第七阶段 第一阶段:Java程序员 技术名称 内                 容 说明 Java语法基础 基本语法.数组.类.继承.多态 ...

  9. Java技术路线图

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

随机推荐

  1. Android Studio突然不显示logcat日志

    参考文章:http://blog.csdn.net/victor_e_n_01185/article/details/52818809 有时候,AS出现没有log的情况.一般您换了模拟器,或者使用真机 ...

  2. PGM:基于模板的表示

    http://blog.csdn.net/pipisorry/article/details/52537660 引言 概率图模型(无论贝叶斯网或马尔可夫网)在一个固定的随机变量集X上具体指定了一个联合 ...

  3. linux找不到动态链接库 .so文件的解决方法(转自:http://www.cnblogs.com/xudong-bupt/p/3698294.html)

    linux找不到动态链接库 .so文件的解决方法 如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形. 可以通过ldd ...

  4. /proc/stat 详解

    在Linux系统中,可以用/proc/stat文件来计算cpu的利用率.这个文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻. cat /proc/stat cpu 6 ...

  5. Android自定义View(二、深入解析自定义属性)

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51468648 本文出自:[openXu的博客] 目录: 为什么要自定义属性 怎样自定义属性 ...

  6. iOS开发之UIWebView的常见一些用法

    虽然现在Xcode8已经开始使用WKWebView这个框架进行网页展示,但是UIWebView也有一些常用的方法需要知道,下面就简单展示一下,仅供大家参考 相关知识:1.设置背景透明:2.加载本地HT ...

  7. CSDN 支持Markdown写文章了!

    开源中国等其他技术博客很早就支持markdown格式写文章了,今天发现csdn竟然也可以了,不仅支持而且可以在线预览,本地导入导出,远程导入. 这些对于程序员写东西都非常好用,不用总是花时间来排版了. ...

  8. Struts 2 之配置文件

    Struts 1使用ActionServlet作为分发器,而Struts 2使用Filter作为分发器.如果有多个Filter,要把Struts 2的分发器Filter放在最后 web.xml < ...

  9. Java中Excel导入功能实现、excel导入公共方法_POI -

    这是一个思路希望能帮助到大家:如果大家有更好的解决方法希望分享出来 公司导入是这样做的 每个到导入的地方 @Override public List<DataImportMessage> ...

  10. 基于OpenCV 的美颜相机推送直播流

    程序流程: 1.图像采集 先从opencv(2.4.10版本)采集回来摄像头的图像,是一帧一帧的 每一帧图像是一个矩阵,opencv中的mat 数据结构. 2.人脸的美化 人脸美化,我们用的皮肤检测, ...