先给出一张有关适配器模式的图例(个人觉得对理解有很大的帮助)
然后给出有关这个适配器的示例代码:
public interface AMD {
public void ac();
}
public class AmdMainBoard {
// AMD cpu = new AMD();
private AMD cpu;
public void start() {
cpu.ac();
}
public AMD getCpu() {
return cpu;
}
public void setCpu(AMD cpu) {
this.cpu = cpu;
}
}
public class I7 {
public void power(){
System.out.println("I7 started!");
}
}
/*
适配器模式关键类,
实现AMD接口,
*/
public class Intel2Amd implements AMD {
private I7 cpu;
/*
* (non-Javadoc)
*
* @see chap07.AMD#ac()
*/
@Override
public void ac() {
cpu.power();
}
public I7 getCpu() {
return cpu;
}
public void setCpu(I7 cpu) {
this.cpu = cpu;
}
}
/*
客户端代码,用于测试适配器模式
*/
public class Client {
public static void main(String args[]){
AmdMainBoard main = new AmdMainBoard();
I7 cpu_I7 = new I7();
Intel2Amd adapter = new Intel2Amd();
adapter.setCpu(cpu_I7);
main.setCpu(adapter);
main.start();
}
}