当前位置: 首页 > 知识库问答 >
问题:

UML类图:导航和所有权之间的区别

宋洲
2023-03-14

我读了里面的帖子

  • UML中分类器拥有的关联和关系拥有的关联
  • 在UML中设置关联最终所有权:这对于可视化范例(或其他UML工具)中生成的代码意味着什么
  • http://www.uml-diagrams.org/association.html

但是UML类图关联的“导航”和“所有权”之间的区别对我来说仍然不清楚。此外,同时发布了UML 2.5。

该规范规定如下:

类拥有的关联端始终是可导航的,而关联拥有的关联端可能是可导航的,也可能不是。

>

  • 这意味着下面的示例c无效。示例a和b是有效的,在这两种情况下,右端都是可导航的。然而,在示例b中,左端是不可导航的。

    我说得对吗?

    导航和所有权之间的语义区别是什么?当所有权强制类具有属性时,导航是访问相反类的“通用”方式吗?

  • 共有1个答案

    白成济
    2023-03-14

    说明书上说

    点表示法用于表示关联端所有权,其中点表示行另一端的类拥有其类型为点所触及的类的属性。

    所以a和b是有效的,c是奇怪的。假设左开始classA,右开始classB。如果a拥有类型为B的属性,则a可以导航到该属性。案例b明确添加了信息,即A可以导航到b,这通过使用点已经很明显了。在案例c中,B拥有a类型的属性(因此可以导航)。此外,您还指示从A导航到B,但不显示所有权。这很奇怪。

    所有权只是说有一些东西(指针)可以导航到另一个对象。引用规范(第126页):

    可以显示导航箭头,但如果显示,则应与协会末端的导航一致。

    后来(第201页):

    在实践中,抑制一些表示关联末端可导航性的箭头和十字通常很方便。一致性工具可以提供各种选项来显示导航箭头和十字。与点表示法一样,这些选项适用于完整图表的级别。

    • 显示所有箭头和十字。导航和它的缺失是完全明确的

    导航没有实际用途(在大多数情况下)。您可以通过添加角色名称来显示导航,角色名称清楚地表明A将B视为角色。末尾有一个十字符号,明确禁止导航。这在某些情况下可能有用。

    可能需要注意的是,与“所有权”(使用得更多)相比,规范对“导航”(只对出现的情况进行grep)相当沉默。这可能是因为所有权是最近引入的。

     类似资料:
    • 本文向大家介绍GPS和卫星导航系统之间的区别,包括了GPS和卫星导航系统之间的区别的使用技巧和注意事项,需要的朋友参考一下 全球定位系统 GPS或全球定位系统是美国国防部于1970年为满足陆军需求而开发的基于卫星的导航系统。随着时间的流逝,它已成为全球性的全球性公用事业,并且从移动设备到车载系统都被大量用于导航目的。GPS具有由24颗人造卫星组成的星座,这些人造卫星环绕地球运行。GPS卫星通过在六

    • 我似乎对一个简单的时间跟踪器有一个问题。它的设置方式是用户可以跟踪与项目相关的命中时间或自由输入某些内容。这意味着时间表对象总是有一个用户,但并不总是有一个项目。当我在连接到用户的数据库中创建一个时间表对象,但然后将一个与用户没有关联的项目连接到同一个时间跟踪对象时,可能会出现不一致。 解决这个问题的最佳方法是什么。我听说过定向联想,但我不知道它是如何解决问题的

    • 当子类继承超类时,子类与超类中定义的具有不同可访问性的字段之间是什么关系,哪个字段属于子类,哪个字段不属于子类。谁能解释一下下面的例子: 当我在Eclipse中调试它时,我观察了堆栈中的变量Child,我发现子实例有四个字段,两个由它的类定义,两个由它的父类定义,我非常困惑.当我创建子实例IMP时是否创建了父实例,我认为它只进入父类的构造函数,但我不能解释为什么子类不重写这两个字段,或者至少,我认

    • 问题内容: 在Java中,我们既可以导入单个类,也可以导入整个类集(一个包)。 举个例子 包括 除了代码的长度之外,以任何方式使用每种方法是否有特定的优势?内存分配?性能? 问题答案: 两者都没有性能或内存分配优势,它们都将编译为相同的字节码。 该语句是告诉编译器在哪里可以找到源代码所引用的类。 但是,仅按类导入有一个优势。如果在两个包中有一个名称完全相同的类,则在引用哪个类时就会发生冲突。 类和

    • UML图中的可导航性示例是什么?我的教授提供了下图,但我似乎无法弄清楚:

    • 本文向大家介绍图和树之间的区别,包括了图和树之间的区别的使用技巧和注意事项,需要的朋友参考一下 在编程中,数据类型表示打算由用户使用的数据的类型和性质。它是编译器或解释器要处理的数据类型,并在主存储器中提供相应的存储位置。现在,为了存储数据,我们根据数据的性质引入了不同的数据结构。由于数据主要分为线性和非线性类,因此专门针对非线性数据,存在图和树的概念来表示此类数据,以便更好地理解。 现在,由于用