繁体   English   中英

UML建模-如何在类图上表示多路继承?

[英]UML modeling - How to represent a multi-way inheritance onto a class diagram?

如何以更优雅(更专业)的方式(使用继承)将这种情况表示在类图上?

演员 [类]可以是自然人 [类]或公司 [类],但不能两者兼而有之。
演员可以是内部演员 [类],也可以是外部演员 [类],但不能同时是两者。
内部演员可以是自然人或公司,但不能两者兼而有之。
外部参与者可以是自然人或公司,但不能两者兼而有之。

当然,在这里,每个所述类在图上都有其特定的属性,方法以及与其他一些类的关系。

如果您不介意多重继承,可以考虑使用以下方法:

多继承

(为简化图表,两次显示了内部演员,它是同一类。)

这是用最少的类表示UML所需内容的一种优雅方法: 在此处输入图片说明

由于{complete, disjoint}约束,此模型要求实例完全是Physical Person Company ,而同时又必须是Inner Actor External Actor 底部的实例规范显示了如何实例化它。

UML可以毫无问题地表示这一点。 但是,如何将其映射为编程语言是另一回事。 (还有另一个SO问题。)许多语言不支持实例的多种分类,因此您必须将方形钉锤入圆孔中。

暂无
暂无

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

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