为什么需要对象图建模
对象图是描述对象及其关系的图,学习对象图,首先要理解什么是对象:
Object:a material thing that can be seen and touched。
对象:是可以看到和触摸的物质事物。
可以这么说,我们看到的世界是对象构成的。因为现实世界的对象太多了,所以人采用分类的方式,把对象抽象成类,所以我们的词汇表里大部分的词都不是描述对象的,而是描述类(具有相似特征和行为的一组对象的抽象)。例如:人,马,桌子,汽车,飞机。
回顾上一篇 UML图解:类图,有关于对象和类的关系的介绍:
可以看出,对象是抽象类的基础,但是大多数时候,我们看到的都是类图,很少见到有人画对象图。那么,对象图到底有用吗? 我们来看下面的例子:
从以上图例可以看出:
对象是客观存在的,而没有两个完全一样的对象,那么我们如何理解庞杂的万物呢?又如何描述这么多对象呢?我们所描述对象其实都是从某种角度对客观存在对象的映射,而这些对象看似不同,可能是由同样的更小的对象构成的,找到了这个同构的小对象,就找到了简化的描述和处理方法。就像上例,我们先从宏观角度找到对象:地图、蛇、食物,然后在分析他们的内在联系——地图、蛇、食物之间需要能够存在原子单元的对应,这样才能判断蛇吃掉了食物,食物在地图上的某个位置。这样我们就找到了“节点”这个基本对象,地图是按照节点进行坐标定位的,蛇是节点构成的,食物也是一种特殊的节点(可以被吃掉),这个寻找基本对象的过程,就像物质世界找到了原子、生物找到了细胞和基因。这个时候会让我们的认知透彻,也就有可能具有了操控事物的能力。这也正是贪食蛇游戏的分析设计关键所在。
对象图有什么
任何UML图都有语义、元素、关系和用途,下面对对象图做个列表描述:
图例:贪吃蛇游戏对象图
为了让读者看的更形象,采用图例的方式介绍对象图的用法,下面是贪吃蛇游戏的对象图:
对象图说明:
如下是基于对象图生成的类的说明字典:
说明:本文的模型采用建模工具EA建模。