定义
适配器让一个类的接口转换成另外一个接口,让原本不兼容的类可以合作无间。
代码demo
鸭子类
public interface Duck {
void quack();
}
public class MallardDuck implements Duck{
public void quack() {
System.out.println("duck gagaga");
}
}
火鸡类
public interface Turkey {
void gobble();
}
public class WildTurkey implements Turkey{
public void gobble() {
System.out.println("turkey gigigi");
}
}
适配器类
public class TurkeyAdaptor implements Duck{
Turkey turkey;
public TurkeyAdaptor(Turkey turkey) {
this.turkey = turkey;
}
public void quack() {
turkey.gobble();
}
}
单元测试
public class UnitTest {
public static void main(String[] args) {
Turkey t = new WildTurkey();
Duck d = new MallardDuck();
Duck d2 = new TurkeyAdaptor(t);
t.gobble();
d.quack();
d2.quack();
}
}
代码解读
当需要使用一个现有的类,而其接口并不符合你的需要时,就使用适配器。