应用场景
- 旧版本的类转换为新版本接口,以使用新版本逻辑
- 面向不同接口的各种不同样式的类可以加入同一个列表成为列表项
- 不同平台、标准之间的互相切换
适配器模式的参与者是源接口和目标接口
可总结为不更改源类和目标类的前提下,将源接口类型转换为目标接口
适配器模式的本质是封装和继承
public interface Source { public void srcMethod(); } public interface Target { public void tgtMethod(); } public class SourceImpl implements Source { public SourceImpl() { System.out.println("Now Source Class"); } @Override public void srcMethod() { System.out.println("Now Source Method"); } } public class SourceAdapter implements Target { Source src; public SourceAdapter(Source src) { this.src = src; } @Override public void tgtMethod() { src.srcMethod(); } } public class Client { public static void main(String[] args) { Source src = new SourceImpl(); Target tgt = new SourceAdapter(src); tgt.tgtMethod(); } }