adapter pattern
适配器模式:
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。
模式中的角色:
目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
需要适配的类(Adaptee):需要适配的类或适配者类。
适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。
从网上摘录一个形象的例子:
你新买的手机自带的耳机是2.5接口的,不幸的是有一天你的耳机坏了,你去市面上根本就找不到2.5的耳机了,基本上是3.5接口了,没办法你只好买了个3.5接口的耳机,老板告诉你:“我给你一个适配器”这不问题就解决了
2.5接口的耳机:
1 //Target 2 3 package pattern.adapter; 4 5 6 public interface Target { 7 8 public void provide2_5(); 9 10 }
3.5接口的耳机
1 //Adaptee 2 3 4 package pattern.adapter; 5 6 7 public class Adaptee { 8 9 10 11 public void provide3_5(){ 12 13 System.out.println("我是一个3.5的接口哦"); 14 } 15 16 }
适配器:
//Adapter package pattern.adapter; public class Adapter extends Adaptee implements Target { @Override public void provide2_5() { this.provide3_5(); } }
调用
//Client package pattern.adapter; public class CellPhoneClient { public static void main(String[] args) { Target target = new Adapter(); //该手机只支持2.5接口的耳机 target.provide2_5(); } }