这个自反关联有一端的角色是不是应该叫“当前版本”

第五元素 2022-1-13 20:23

潘老师,请问这个历史版本的分析模式,是不是应该为 上一版本 和 当前版本,而不是下一版本?

(组织有个版本的自反关联看起来比较奇怪,但这个背后有它的故事,而且这是一个中间结果,此处就不展开说了。——此处为补注,非原有答疑内容。)

UMLChina潘加宇

哪有什么“当前版本”,你把类和对象搞混了。

“当前版本”“自己”可能以为自反关联是一个对象自己搞,其实自反关联也有两个对象,只不过两个对象属于同一集合。

你想想,如果是这样的话,所有的自反关联都应该有一端的多重性严格为“1”,因为“自己”有且只有一个嘛。

类图说的是映射规则

例如,

组织和人员有个雇用的一对多关联,组织1,人员多,意思是:

对于组织集合中某一个组织对象,在人员集合中可能会有多个人员被它雇用

对于人员集合中某一个人员对象,在组织集合中可能会有1个组织雇用它

同理

组织和组织有个上下级的一对多关联,上级1,下级多,意思是:

对于组织集合中某一个组织对象,在组织集合中可能会有多个下级组织

对于组织集合中某一个组织对象,在组织集合中可能会有1个上级组织

写出代码可能是

class 组织

{

组织 上级;

List<组织> 下级;

......

}

当然,像1对多的自反关联,可以只留一个上级,需要找下级时再算出下级。


weixinpanjiayu2