设计模式 - 适配器模式1 - 包装器模式 - 类适配器模式

思考

  • 什么是适配器模式?适配器模式解决了什么问题?
  • 适配器模式有哪几种?分别具备什么特征?

概念

  • 适配器模式:
    • 可以将某个类的接口转换成客户端所期望的另外一个接口,为了兼容性,让原本接口不一致无法一起工作的类可以协同工作。
    • 别名包装器模式
    • 属于结构型模式
  • 类适配器模式:
    • 类适配器模式是指通过继承被适配者(如220v),实现目标接口(如5v),完成的适配器模式

代码



//被适配的类
public class Voltage220V {
	//输出220V的电压
	public int output220V() {
		int src = 220;
		System.out.println("电压=" + src + "伏");
		return src;
	}
}




//适配接口
public interface IVoltage5V {
	public int output5V();
}



//适配器类
public class VoltageAdapter extends Voltage220V implements IVoltage5V {

	@Override
	public int output5V() {
		// TODO Auto-generated method stub
		//获取到220V电压
		int srcV = output220V();
		int dstV = srcV / 44 ; //转成 5v
		return dstV;
	}

}



public class Phone {

	//充电
	public void charging(IVoltage5V iVoltage5V) {
		if(iVoltage5V.output5V() == 5) {
			System.out.println("电压为5V, 可以充电~~");
		} else if (iVoltage5V.output5V() > 5) {
			System.out.println("电压大于5V, 不能充电~~");
		}
	}
}



public class Client {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(" === 类适配器模式 ====");
		Phone phone = new Phone();
		phone.charging(new VoltageAdapter());
	}

}


Prev Post 设计模式 - 观察者模式
Next Post 设计模式 - 设计原则 - 依赖倒转原则