代表序列图中的多态性

时间:2013-04-14 19:13:46

标签: uml sequence-diagram

我有一个抽象的父类Server和3个子类InternalServerExternalServerLoggableInternalServerServer具有公共抽象方法receiveClient()

该应用程序有一个Server列表,其中包含上述三种类型的多个对象。迭代此列表,并在每次迭代中调用receiveClient()方法。 receiveClient()的实现因子类而异。

有没有办法用序列图来表示这种多态行为?如果没有,我可以用什么其他图表来记录这种行为?

2 个答案:

答案 0 :(得分:4)

有一种方法可以使用序列图来表示这种多态行为。多态调用由保护条件控制的多个场景建模。因此,对于每个多态方案,动态绑定(多态调用)表示为"方案框"。因此,这是一个显示您问题的多态调用的图表。

enter image description here

所以,即使这个模型回答你的问题,它也不是一个明确的解决方案,因为在序列图中表示多态性并不是一件容易的事。最后,类似的讨论是关于How to visualize polymorphic invocations in a single diagram?的问题。

答案 1 :(得分:2)

您可以在对象创建点启动生命线,显示发件人创建分类器实例的消息。您可以将其与ALT片段混合以显示不同的实现。