什么是接口和包装器?

Cha*_*gUZ 1 java design-patterns interface wrapper

我知道为什么要使用接口和包装器。

但是我混淆了命名包装器类......(“谁是包装器?”我看我不太了解......)

public Interface A {
    void method();
}

public Class B implements A {
    void method() {
        doSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)

我对两件事感到困惑......

  1. Wrapper Class是 class ,所以 B 是包装器。

  2. 我们通常看到(或想到?)a.method() 而不是 b.method(),所以 A 是包装器。

什么是包装器?

一种?乙?

和...

如何使用“Wrapper”或“W”命名 A、B 好?

A、包装器?或B,BWrapper?还是其他人……?

Tim*_*ote 5

A是一个接口。 B是 的具体实现Interface。从您提供的代码中不能对它们进行任何其他说明。

包装通过添加或简化封装类/ API的功能“换行”另一类或API的功能。例如,Java的Primitive Wrappers向 Java 原语添加了像doubleValue和等有用的方法compareTo

您正在考虑多态性

这就是让我们可以说出以下内容的原因:

A a = new B();
B b = new B();
List<A> stuffs = new ArrayList<A>();
stuffs.add(b);
Run Code Online (Sandbox Code Playgroud)

边注:

Interface并且Class在 Java 中不允许大写。你的声明应该是这样的:

public interface A {
  // methods
}

public class B implements A {
  // methods
}
Run Code Online (Sandbox Code Playgroud)