1

我需要在代码中实现这个 UML。有人可以帮我理解关于这个 UML 表示的 2 个问题吗?这是用于Java中的编程类。

在此处输入图像描述

该练习指出:

StringFilter 是客户端可以添加几个特定单词过滤器的类,由接口过滤器表示。

StringFilter 不依赖于任何特定的过滤器。例如,ContainsWord 过滤器是库提供的标准过滤器,而 ContainsText 和 LengthBelow 是由客户端开发的。

我无法理解 UML 中的关系。

--

第一个问题:

据我了解, StringFilter 是一个类。而StringFilter,实现了接口Filter。这是真的?如果在代码中,我要定义StringFilter 实现 Filter,是否正确?

--

第二个问题:

ContainsWord 是一个类,它实现了在接口Filter 中定义的accept() 方法。这是真的?ContainsWord应该实现 Filter吗?

--

我无法理解究竟是什么实现了。从ContainsWord到接口FilterStringFilter到接口Filter的关系,让我有些困惑。

谢谢!

4

2 回答 2

3

1)StringFilter不实施FilterStringFilter使用的实例Filter来完成它的工作(vg,addFilter方法)。“实现”(在 UML 演讲中我认为它是“实现”)线是虚线。

2)这正是图表所代表的。ContainsWord是一个实现(UML -> 实现),Filter所以必须实现accept.

于 2013-09-21T11:48:09.387 回答
1
  1. No.StringFilter使用 Filter 实例来完成任务。Filter因此,和之间的关系StringFilter是实现。箭头侧实例由菱形侧类使用。例如,

    类 StringFilter{ 过滤器过滤器;...}

2.是的。ContainsWord类将实现Filter接口并提供accept方法的实现。ContainsTextLengthBelow类相同

于 2013-09-21T11:58:19.663 回答