adaptor pattern
将一个类的接口,转换成客户期望的另一个接口。适配器将原本接口不兼容的类也可以互相配合使用。想象手机充电器,将220直流电转化为5V的直流电,适配器就是充当这个充电器的角色。
实现方式
1.实现了客户的接口,因为这样可以转换为客户的接口。
2.应该通过传入或者其他的办法将另一个接口或者类传入这个适配器,在这个适配器复写了接口的方法了做相应的处理,已便达到客户想要的需求。这样就可以将一个类或者接口转换成了客户的接口了。
实例代码
英国版本的充电器插口和国版充电器插口之间的适配。
英版充电器类:
public class EnAdaptor {
public void plugin(){
System.out.println("charging.....");
}
}
国版充电器接口:
public interface CnAdaptor {
public void plugin();
}
适配器类:
public class EnToCnAdaptor implements CnAdaptor{
private EnAdaptor ea=new EnAdaptor();
/* (non-Javadoc)
* @see it.mzt.adaptor.CnAdaptor#plugin()
*/
public void plugin() {
// TODO Auto-generated method stub
ea.plugin();
System.out.println("充电中....");
}
}
中国家庭类:
public class Home {
public void chazhuo(CnAdaptor ca){
ca.plugin();
}
}
测试类:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CnAdaptor ca=new EnToCnAdaptor();
Home home=new Home();
home.chazhuo(ca);
}
}
运行结果: