假如你朋友送你一个新鼠标,是usb接口的,而你电脑的主板没有usb接口,只有ps2接口。但是你想用上新鼠标,怎么办呢。呵呵,大家都知道,买一根连接线,一端接受usb,令一端接收ps2,那就可以了。
在这个例子中,连接线就起到了适配器的作用。再强调一点,虽然同时usb,但是也要分正负面的,ps2也是。
那么现在假设鼠标Mouse是带 UsbA 接口的(UsbA与UsbB相接)。主板Mainboard是Ps2B接口的(Ps2B与Ps2A相接)。现在买来了UsbPs2连接线 UsbPs2Adapter。现在来实现一下。
UsbA 接口描述:
- public interface UsbA
- {
- public void join(UsbB usbB);
- }
UsbB 接口描述:
- public interface UsbB
- {
- public void access(UsbA usbA);
- }
Ps2A接口描述:
- public interface Ps2A
- {
- public void join(Ps2B ps2B);
- }
Ps2B接口描述:
- public interface Ps2B
- {
- public void access(Ps2A ps2A);
- }
鼠标Mouse描述:
- public class Mouse implements UsbA
- {
- public Mouse(){
- System.out.println("mouse with UsbA.");
- }
- public void join(UsbB usbB)
- {
- System.out.println("join to UsbB");
- }
- }
主板Mainboard描述:
- public class Mainboard implements Ps2B
- {
- public Mainboard()
- {
- System.out.println("Mainboard with Ps2B.");
- }
- public void access(Ps2A ps2A)
- {
- System.out.println("access Ps2A!");
- }
- }
连接线UsbPs2Adapter描述:
- public class UsbPs2Adapter implements UsbB,Ps2A
- {
- public UsbPs2Adapter()
- {
- System.out.println("adapter with UsbA and Ps2B.");
- }
- public void access(UsbA usbA)
- {
- System.out.println("adapter access UsbA.");
- }
- public void join(Ps2B ps2B)
- {
- System.out.println("adapter join Ps2B.");
- }
- }
好,材料都准备好了,现在开始接线吧:
- public class AdapterTest
- {
- public static void main(String[] args)
- {
- Mainboard mainbord = new Mainboard();//带有Ps2B接口
- Mouse mouse = new Mouse();//带有usbA接口
- UsbPs2Adapter adapter = new UsbPs2Adapter();//同时带有usbB和ps2A接口
- adapter.access(mouse);//接收鼠标的连接
- adapter.join(mainbord);//连接到主板
- }
- }
输出结果:
Mainboard with Ps2B.
mouse with UsbA.
adapter with UsbA and Ps2B.
adapter access UsbA.
adapter join Ps2B.
连接成功了!!呵呵