(16)适配器模式
概念
电脑是无法直接插入内存卡的,那么可以使用读卡器作为电脑和内存卡的桥梁,电脑可以通过调用读卡器,从而读到内存卡中的信息。那么读卡器就相当于一个适配器。其实就是电脑通过适配器的方法间接访问内存卡的信息。
适配器平时写代码也经常用到。比如使用VO类接受前端参数,但是保存到数据库时需要的是PO类。那么可以写一个方法传入VO返回PO,这就是适配器
实现方式
/**
* 适配器
*/
public class Demo {
public static void main(String[] args) {
// 内存卡
MomeryCard momeryCard = new MomeryCard();
// 读卡器。读卡器中插入内存卡
ReadCard readCard = new ReadCard(momeryCard);
// 电脑。电脑插入读卡器
Computer computer = new Computer(readCard);
// Computer computer = new Computer(momeryCard); // 电脑无法直接插入内存卡
computer.readCardInfo();// 电脑访问内存卡的信息
}
}
// 内存卡(被适配的类)
class MomeryCard {
public void info() {
System.out.println("内存卡中的信息");
}
}
// 电脑
class Computer {
Adapter adapter;
public Computer(Adapter adapter) {
this.adapter = adapter;
}
public void readCardInfo() {
adapter.readCardInfo();
}
}
// 适配器接口
interface Adapter {
void readCardInfo();
}
// 读卡器(具体适配器),读取内存卡信息
class ReadCard implements Adapter {
MomeryCard momeryCard;
public ReadCard(MomeryCard momeryCard) {
this.momeryCard = momeryCard;
}
@Override
public void readCardInfo() {
momeryCard.info();
}
}
内存卡中的信息