适配器模式是用来解决两个接口不兼容的问题。
适配器模式一般有两种实现方式。一是类适配器,这种实现方式是需要适配器继承适配者,耦合度较高。第二种是对象适配器模式,这种实现方式是将适配者作为类的成员,通过适配器对适配者间接访问,实现适配。
1.类适配器
//适配者
public class USBMouse {
public void connect_usb(){
System.out.println("USB鼠标连接");
}
}
public interface PS2 {
public void connect_ps2();
}
//适配器类
public class USBAdapter extends USBMouse implements PS2 {
@Override
public void connect_ps2() {
connect_usb();
System.out.println("USB接口转换PS2连接");
}
}
public static void main(String[] args) {
//连接
PS2 mouse=new USBAdapter();
mouse.connect_ps2();
}
//输出
USB鼠标连接
USB接口转换PS2连接
2.对象适配器
//适配器
public class USBAdapter2 implements PS2 {
private USBMouse usbMouse;
public USBAdapter2(USBMouse usbMouse){
this.usbMouse = usbMouse;
}
@Override
public void connect_ps2() {
usbMouse.connect_usb();
System.out.println("usb转换为ps2");
}
}
public static void main(String[] args) {
//连接
PS2 mouse=new USBAdapter2(new USBMouse());
mouse.connect_ps2();
}
//输出
USB鼠标连接
usb转换为ps2