1

自 Java 8 发布以来,您可以在接口中提供方法的默认实现。

我一直在寻找一种在 UML 中实现这一点的方法,但在这件事上找不到任何东西。接口中默认实现的情况可能太特殊而无法在 UML 规范中采用。

但仍然是问题:

有没有办法在 UML 中显示这些默认方法?

4

2 回答 2

1

在 java 8 的接口中有三种类型的方法:

  1. 静止的
  2. 默认
  3. 抽象的

抽象方法通常是斜体

+sayAbstract() : 无效

静态方法一般是u̲n̲d̲e̲r̲l̲i̲n̲e̲d̲:

+̲ ̲s̲a̲y̲S̲t̲a̲t̲i̲c̲(̲)̲ ̲:̲ ̲v̲o̲i̲d̲

由于默认方法是一种实例方法,因此请相应地格式化它们:

+ sayDefault() : 无效

于 2016-11-02T19:02:44.873 回答
1

从 UML 的角度来看,这种情况并没有什么特别之处,这就是构造型的用途。

UML 表示一个概念模型,它不依赖于特定语言的情况,因此您可以通过以下方式对其建模:

在此处输入图像描述

如何实施这种模型是另一回事。在 Java 中你可以使用接口,在 C++(没有接口)中你可以抽象类,在 Ruby 中你可能会采用不同的方法,但模型可以**仍然是相同的。

**我的意思是,在建模级别已经使用特定语言是一种常见的做法,因此人们会改变模型以更好地适应目标语言。

于 2015-10-29T11:43:01.813 回答