首页 > 解决方案 > 如何表示在重写方法中调用基类方法?

问题描述

我有一个想要为基类函数添加更多功能的子类,我如何表示它还具有基类功能而不仅仅是新添加的功能?

标签: umlparent-childbase-classsequence-diagram

解决方案


有趣的问题。我用 Enterprise Architect 尝试过。它确实让我选择了父母的操作,但图表中的显示没有改变。看来您需要为此使用注释:

在此处输入图像描述

如您所见Class2,继承自Class1. SD 显示了对Class2's 操作的调用a()。对超类的Class1.a()调用作为内部调用显示相同的签名。一份说明澄清了这种情况。

也许这还有其他可能。但这就是我立即想到的。


PS我查了规格。UML 2.5 的第 575 页说

出现在 request-message-label 中的 message-name 是 Message 的 name 属性。如果消息有签名,这将是签名引用的操作或信号的名称。否则,名称不受约束。

这将放入选项以将所讨论的操作指定为Class1:a()等。实际上,Enterprise Architect 在消息的属性中以这种方式显示它,但将其缩短为仅基本名称。只是一个边境案件,我猜。


推荐阅读