繁体   English   中英

这个班级如何共享?

[英]How come this class in composition is shared?

我知道,在UML中,组合意味着一个类基本上包括另一个具有生命周期依赖性的类,即,当该类被破坏时,组成类也将被破坏。 与聚合不同,该类不共享。 但是后来我看到了-在系统设计师会议上,这是:

[A Plane]<>COMPOSITION---------[Passenger]0,1--------<>[Seat] 

这意味着如果飞机被销毁,所有的乘客都将被销毁(到目前为止是正确的),但这些乘客将与座位处于聚集(或关联)关系,其中每组可以有0或1位乘客。 但是在这种情况下,不共享乘客吗? 在使用现代语言(例如C#)的现实中,如果只是席位保留了对乘客的引用,则无论Plane类是否被破坏,该引用仍将存在。

这些类之间关系的更好表达是,座位(而非乘客)是飞机组成的一部分,而乘客与座位相关联 从技术上来说,带座位的乘客聚集将表现出更牢固的关系,但是联系似乎是更自然的关系(即“现实世界”)。 当飞机被“摧毁”时,座位也被摧毁,而旅客“继续生存”,并且他们与模型的其他部分的关联也是如此,例如航班行程另一条腿上的另一架飞机上的座椅。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM