java设计模式-适配器模式

java设计模式-适配器模式

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。

适配器我们可以第一个想到的就是电源适配器,将不相容的接口通过适配器连起来。先来看一下类图,图片来自适配器模式-百度百科

java设计模式-适配器模式

举个例子,适配器就像读卡器,原本存储卡没办法直接让电脑读取,所以要经过一个读卡器。存储卡和电脑是本来就存在的,所以我们主要来看看读卡器(适配器)是怎么实现的。首先,读卡器要能与sd卡连接,所以读卡器里面要维护sd卡对象,其次,读卡器要与电脑的usb口连接,原本电脑里面要维护一个读卡器对象,但是现在不想修改原有的代码,所以这里可以让读卡器直接继承电脑类,读卡器重写的方法来实现读取sd卡。下面看看代码:

StorageCard.java

public class StorageCard {
	public void readSD() {
		System.out.println("读取sd中的内容");
	}
}

Computer.java

public class Computer {
	public void readUSB() {
		System.out.println("读取USB的内容");
	}
}

SDAdapter.java

public class SDAdapter extends Computer{
	private StorageCard sd =new StorageCard();
	@Override
	public void readUSB() {
		sd.readSD();
	}
}

调用及打印结果

public static void main(String[] args) {
		Computer computer = new SDAdapter();
		computer.readUSB();
	}
//结果
读取sd中的内容

这个属于比较简单的适配器实现,实际情况中肯定会比这复杂一点。