5.4 对象图
对象是类的一个具体实例,对象图(Object Diagram)常被认为是类图的一个具体实例。注意,类只是一个抽象的概念,而对象是具体的,并且随着系统的动态行为不断变化。因此,对象图反映的只能是具体某一个时间点上一组对象的状态和它们之间的关系。
在UML中,用类图描述系统的静态结构和关系,用交互图等描述系统的动态特性。在跟踪系统的交互过程时,往往会涉及系统交互过程的某一瞬间交互对象的状态,用例图和类图都不能对此进行描述,于是在UML里用对象图描述参与一个交互的各对象在交互过程中某一时刻的状态,表达交互的静态关系。它由协作的对象组成,但不包含对象之间传递的任何消息。(https://www.daowen.com)
对象图包含一组类图中的事物的实例。在一个复杂的系统中,出错时所涉及的对象可能会处于一个具有众多类的关系网中,这样的情况可能很复杂,如果为出错时刻系统各对象的状态建立对象图,将大大方便分析错误、解决问题。
对于一个复杂的数据结构,只看一个对象在某一时刻的状态下不会得到多少帮助,这时需要研究对象、对象的邻居以及它们之间的关系的快照。每个对象与其他对象之间的关系是确定的,事实上,当一个面向对象系统垮掉时,可能并不是由于逻辑上的错误,而是对象之间的连接有毛病或者个体对象中的状态被搞错。