设计模式——适配器模式
2019-09-30 本文已影响0人
写一本2000000的书
适配器模式:是把一个类的接口变换成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。
target(目标接口):所要转换的所期待的接口
Adaptee(源角色):需要适配的类
Adapter(适配器):将源角色适配成目标接口,一般持有源接口的引用(或者继承源接口),且实现目标接口。
![](https://img.haomeiwen.com/i528387/a06c2173fc9f551a.jpg)
示例:利用转接口将PS/2接口的鼠标连上USB,接上电脑
/**
*
* @author apple
* PS2Mouse 相当于Apaptee, 被适配器类,有特殊需求
*
*/
public class PS2Mouse {
void hasPS2() {
System.out.println("连接上电脑");
}
}
/**
*
* @author apple
*
* Translator 转化器 Adapter , 转化接口, 拿到原有接口,加以修改
*/
public class Translator extends PS2Mouse implements IUSB {
@Override
public void hasUSB() {
// TODO Auto-generated method stub
hasPS2();
System.out.println("将 ps2 转换为 usb 接口");
}
}
/**
*
* @author apple
*
* IUSB 相当于 Tagart,目标接口
*/
public interface IUSB {
void hasUSB();
}
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Translator translator = new Translator(new PS2Mouse());
translator.hasUSB();
}
}