知识卡片

实例规格不是真正的实例

普通读书笔记卡 · 1945.b

内容

严格来说,对象图上画的元素并不是真正的对象实例,而是实例规格(instance specification)——可理解为部分定义的实例。这个区分重要,是因为对象图允许一些真实运行时对象不可能出现的情况:强制属性可以留空不填,或可画出一个抽象类的实例规格(现实中抽象类不能被实例化)。对象图本质是一种建模/沟通工具,享有比真实运行时对象更大的自由度,不能拿运行时规则反推对象图一定合法。

参考来源

- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第6章《对象图》(源文件:_epub-src/EPUB/5.xhtml) - 结论依据:原文说明"严格地说,对象图的元素是实例规格而不是真正的实例,因为强制属性为空或者展示抽象类的实例规格都是合法的。你可以认为实例规格(instance specification)是部分定义的实例",明确了对象图元素与真实实例的差异。 - 原始内容:严格地说,对象图的元素是实例规格而不是真正的实例,因为强制属性为空或者展示抽象类的实例规格都是合法的。你可以认为实例规格(instance specification)是部分定义的实例。