【问题标题】:What is the difference between a Class Diagram vs an Object Diagram? [closed]类图与对象图有什么区别? [关闭]
【发布时间】:2013-10-09 21:07:01
【问题描述】:

类图和对象图有什么区别?

【问题讨论】:

  • 类图显示您的类及其关系。对象图显示了运行时某个时间点对象之间的交互。
  • 图表在编程语言之上,属于programmers.stackexchange.com。你用谷歌搜索过这两种解释吗?有什么不清楚的地方?这可能会因为没有表现出任何努力和/或偏离主题而被关闭。

标签: uml class-diagram object-diagram


【解决方案1】:

在 UML 规范中指定

类图是由各种静态关系连接的分类器元素的图。请注意,“类”图还可能包含接口、包、关系甚至实例,例如对象和链接。 “静态结构图”或许更好的名称,但“类图”更短且成熟。

对象图

是实例图,包括对象和数据值。静态对象图是类图的一个实例;它显示了系统在某个时间点的详细状态的快照。对象图的使用相当有限,主要用于展示数据结构的示例。


简单来说...

类图显示了声明性(静态)模型元素的集合,例如类、类型及其内容和关系。

对象图包含对象及其在某个时间点的关系。它可以被认为是类图或协作图的特例。


类图

对象图

一个很好的幻灯片开始:http://people.bu.edu/rfv/SC511/downloads/uml.ppt

【讨论】:

  • 那么什么是“分类元素”呢?
【解决方案2】:

维基百科给出了这两个例子: Class Diagram Object Diagram

不同之处在于目的和它们所显示的内容。

类图将显示系统中的对象由什么组成(成员)以及它们能够做什么(方法)。

相比之下,对象图将显示系统中的对象在某个时间点如何相互交互,以及当程序处于这种状态时这些对象包含什么值。

【讨论】:

  • “系统中的对象在某个时间点如何相互交互”:有没有办法将其链接到活动图和/或状态机图?
  • 它们确实有不同的用途......我不确定会有什么好处,但你可以将对象图视为状态机图中的特定状态,我想......
  • 对象图提供静态视图,而活动和状态图提供动态视图。根据我的经验,对象图并不经常使用,但如果您在类之间有复杂的关系,而这些关系可以通过示例对象网络最好地展示,那么对象图是可视化此类对象网络的正确方法。
  • 维基百科是错误的。 对象图不描述交互。 UML2.5图有两种类型:行为图(描述交互)和结构图(描述结构,对象图在这里) ; 对象图不是行为图的一部分。 对象图对于描述特定配置中的实例很有用:例如描述状态机的状态。但不是互动。要描述交互,最好使用行为图 (uml-diagrams.org/uml-25-diagrams.html)。
猜你喜欢
  • 1970-01-01
  • 2019-10-28
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 2014-06-11
  • 2011-11-30
  • 2012-07-12
  • 2020-07-26
相关资源
最近更新 更多