0

我需要建模这样的东西,

ClassA 实现接口 IClass;

ClassB 实现接口 IClass;

ClassA 有一个 ClassB(组成);

但是ClassA的接口与ClassB的接口是同一个接口,即我需要将ClassB的接口暴露为ClassA的接口。我是这样弄的

                                 +--------------+
                                 |              |
                        +-------->    IClass    <---------+
                        |        |              |         |
                        |        +--------------+         |<<implements>>
          <<implements>>|                                 |
                        |                                 |
                        |                                 |
                  +-----+-------+                 +-------+-------+
                  |             |+                |               |
                  |   ClassA    +++---------------+    ClassB     |
                  |             |+  <<has a>>     |               |
                  +-------------+                 +---------------+

但我不确定这个模型是否正确。我如何改进/修复这个模型?

4

1 回答 1

0

看到模型我明白了这一点:

public class ClassA implements IClass {/* class implementation here */}
public class ClassB implements IClass {
    public ClassA a; //Or private field with getter and setter.
    /* rest of class implementation */
}

如果这是您的代码,那么模型是 100% 好的。

此外(因为 UML 旨在更好地理解)如果 ClassB 使用 ClassA 字段作为帮助器来实现 IClass 接口(通过委托一些方法),那么您可以在 UML 注释中注意到这一点。

于 2013-05-14T12:05:44.803 回答