假如你朋友送你一个新鼠标,是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.
连接成功了!!呵呵