Inheritance 如何在UML类图中省略基类

Inheritance 如何在UML类图中省略基类,inheritance,uml,class-diagram,Inheritance,Uml,Class Diagram,在UML类图中,如何省略不相关的基类而不给人留下错误的印象 让我们考虑下面的类层次: 我想说明一个事实,Blackbirds和Airplanes都是FlyingThings。但是我不想把我的UML类图与Blackbird的整个祖先混为一谈 我可以省略鸟,动物,和活生物体,只画三个“相关”类。但这看起来好像黑鸟只来自于飞行,而不是其他 为了防止这种错误的印象,我可以考虑包括鸟>代码>类,只留下动物< /代码>和 LIVEGIONGORION/CODE >。但这样看来,Bird根本就没有基类。一句

在UML类图中,如何省略不相关的基类而不给人留下错误的印象

让我们考虑下面的类层次:

我想说明一个事实,
Blackbird
s和
Airplane
s都是
FlyingThing
s。但是我不想把我的UML类图与
Blackbird
的整个祖先混为一谈

我可以省略
动物
,和
活生物体
,只画三个“相关”类。但这看起来好像黑鸟只来自于飞行,而不是其他

为了防止这种错误的印象,我可以考虑包括<代码>鸟>代码>类,只留下<代码>动物< /代码>和<代码> LIVEGIONGORION/CODE >。但这样看来,
Bird
根本就没有基类。一句话:无论我在哪里进行剪切,看起来总是一个类的基类比实际的基类少

我想要的是某种方式来表明“这个类除了显示的那些基类之外还有其他的基类,但是我不想费心把它们全部画出来。”我想象一些类似于省略号的东西。有没有标准的表达方式

编辑:

为了说明这个问题,我在这个图表中编了几个类。所以问题不在于多重继承或这个特殊的类设计是否有意义。让我们假设他们这样做。这个问题也不是关于一个特定的UML建模工具——让我们假设我们在这里使用的是笔和纸

为了重新表述我的问题:你看到了一个只包含三个突出显示的类的图表,其他什么都没有。您是否会假设此图代表了全部事实,并且
Blackbird
除了
FlyingThing
之外没有其他基类

  • 如果您认为,
    Blackbird
    似乎只是从
    FlyingThing
    派生出来的:那么必须有一些标准的UML语法来表明情况并非如此

  • 如果你认为,不,可能还有其他基类,图表的作者省略了:然后这回答了我的问题,我只是看到了实际上没有的问题。:-)


我非常肯定,您会找到每个设计师的解决方案。。。 一个图表显示了整个模型的一部分,而这个部分只是一个部分,所以整个问题是哪个部分?对这个问题的回答很简单,这取决于你想展示什么来理解你的问题

问候,


BR

除了@Red Beard正确地说的之外,有些工具还允许您向其他图表添加超链接(例如,enterprise architect可以):

因此,您可以添加一个链接到另一个显示完整继承祖先的图表

但首先要考虑这个问题:

你的类
Blackbird
真的继承了
FlyingThing
Bird
? 在某些语言中是可能的,但不是聪明的设计


或者你对FlyingThing的
概括
实际上是接口的
实现
?如果是这样,您需要使用正确的连接类型(如图中所示)。

我的解决方案是使用其名称(定义)指定超类,您还需要提供一些说明,以确保目标开发人员不会混淆。 例子:
顺便说一下,我必须说,这不是ISO的。咖啡效果。

对:)我将删除我的评论谢谢,红胡子,你指出遗漏(没有任何特殊标记)在类图中是完全正确的。