【问题标题】:Interface defined inside a class在类中定义的接口
【发布时间】:2013-05-02 21:17:30
【问题描述】:

如何表示接口是类的一部分?让我们以这个案例为例。

public class Function
{
     public interface Function2D
     {
            double GetValue(double x);
     }

     ...

}

更准确地说 - 我需要在 UML 类图中显示 Function 和 Function2D 之间的关系。

【问题讨论】:

  • 通过在Function 中声明Function2D 来完成什么?
  • 内部类可以访问封闭类字段。
  • 这不是通常的 java 方式,但如果你这样做,你必须像这样实现它:public class MyImplementation implements Function.Function2D
  • @JeanWaghetti 但界面中没有字段
  • 我没有看到任何字段。只是一个方法声明。并且一个接口可以有最终的静态字段。

标签: java oop uml class-diagram


【解决方案1】:

UML Quick Reference 给出了如何在 UML 图中表示内部类的指示:

【讨论】:

  • 如何表示内部 static 类(未使用)?接口类似于static nested classes(不要与内部类混淆),因为它们并不暗示与父类型的绑定。
  • 它们绑定到父类,而不是父类对象实例。
  • @JeanWaghetti 为什么他们被“束缚”了?如果此类(接口类型)的唯一创建/使用发生在它们嵌套的类的外部,会发生什么?仍然认为有任何有意义的关系是否准确?我觉得无法明智地说明所呈现代码中的关系。如果这样的 UML 图只是显示命名容器之间的关系,那么外部类可能可以被视为一个容器(例如一个包)。
  • 问题是关于内部接口的。线条应该用虚线吗?
  • @user2246674:这正是包含在这里的含义——内部类使用外部类作为它的命名空间,就像另一个类有一个包作为它的命名空间一样。
猜你喜欢
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 2015-10-03
  • 1970-01-01
  • 2012-05-30
相关资源
最近更新 更多