Uml 什么是单向关系箭头

Uml 什么是单向关系箭头,uml,Uml,我不明白链接图片中两个表之间的关系是什么意思。我该如何编码呢 这是我的 虚拟公共财产{get;set;} 类(而非表)之间关联末尾的箭头表示此端点是可导航的 这被定义为在关联结束时对属性执行的操作。UML 2.5规范中的定义表示: isNavigable():布尔值 查询isNavigable()指示是否可以在属性之间导航 body: not classifier->isEmpty() or association.navigableOwnedEnd->includes(self)

我不明白链接图片中两个表之间的关系是什么意思。我该如何编码呢

这是我的

虚拟公共财产{get;set;}


类(而非表)之间关联末尾的箭头表示此端点是可导航的

这被定义为在关联结束时对属性执行的操作。UML 2.5规范中的定义表示:

isNavigable():布尔值 查询isNavigable()指示是否可以在属性之间导航

body: not classifier->isEmpty() or association.navigableOwnedEnd->includes(self)
此外,它还提到了关联符号:

关联结尾处的开放箭头表示结束 通航的关联结尾处的小x表示结束 不能航行

关于一个协会的适航性

可导航性意味着实例在运行时参与链接 (关联实例)可以从 关联另一端的实例。精密机构 实现这种高效访问的方法是特定于实现的。 如果一个端部不可导航,则从其他端部的访问可能会,也可能不会 这是可能的,如果可能的话,它可能没有效率

总结一些需要记住的东西,因为这个惯例仍然经常被使用:

根据一项最新研究,过去经常使用适航性符号 非正式公约,其中假定非通航端为 由协会所有,而通航端假定为 由另一端的分类器拥有。这项公约现已生效 不赞成。聚合类型、可导航性和最终所有权是 单独的概念,每个概念都有自己的明确表示法。联想 类拥有的端点始终是可导航的,而 关联可能是可导航的,也可能不是


所以现在你应该知道它的意思了。如何编写代码取决于编程语言、公司标准、体系结构层、您的创造力等等。

Geert写的是真实的东西,但我认为,您需要更多实用的建议

该单向箭头表示Enquette类有一个属于Propriete类的字段或方法。在99%的情况下,这是一个简单的字段类型。“当代标准”提供了使用线另一侧的点进行此操作

事实上,箭头上没有名字,这通常意味着字段的名称是propriete,或propriete,这取决于语言和您的公司所接受的样式。(UML标准中不需要它,但它被广泛使用)。根据问题的最后一段,你的公司似乎也使用了这个规则

事实上,在这条线的另一端没有箭头,并不意味着Propriete类中没有具有Enquette类的字段或方法。(尽管这意味着在90个平局中)。这仅仅意味着我们还没有决定是否有这样的领域。或者,我们认为这并不重要。也就是说,它是未定义的。已知缺乏此类连接的情况必须用十字而不是箭头表示

所以,在Enquette的某个地方,你有一句话:

Propriete propriete;

甚至可能

Propriete** Propriete;
或者被你引用

virtual public Propriete Proprietes { get; set; } // apparently, C#
它可以是静态/类字段,也可以是实例字段-它未在图中定义

在阶级中,可以存在这样一条线:

Enquete enquete; // or some of the mentioned variants
你把它存在的决定权留给了编码员

请注意,没有箭头的直线意味着两端都有字段(或方法)。简单地说,如果直线显示两个箭头,我们根本不画箭头


所以,真的,你的问题有错。这不是单向关系。这是一个单向箭头,表示一种关系,可能是单向的。

请看这里。@Franco请看得好些。对于单向箭头的含义没有任何解释。这里的问题是关于所有的箭头,除了这个!这很有趣,但是这里没有关于这些琐碎元素的问题。事实上,根据当代标准,它几乎已经不用了,但它可以被使用,所以,它应该被解释+1.
Enquete enquete; // or some of the mentioned variants