适配器模式(Adapter)
适配器模式(Adapter) 讲一个类的接口转换成客户希望的另一个接口。
大家对于适配器的这个名词应该不陌生了吧,在我们手机的充电器,电脑的充电器上都可以见到适配器三个字。电源适配器。
通俗的解释
手机电压最多就几伏特,而我们的家用电可是220v那怎么才能做到用家用电去给手机充电呢。适配器就充当了转换的角色。
而另一个更加接近适配器模式的例子:翻译。
英文不太好的人去到美国怎么跟当地人沟通呢?聘用一个翻译就好了。而翻译就充当了适配器这个角色了。先把我们的中文告诉翻译,翻译再用英文跟美国佬说。
接下来就用翻译这个例子给大家写几段代码,演示一下适配器是怎么使用的,帮助大家理解。
public class Adapter {
public static void main(String[] args) {
//假设A到了美国,想跟一个美国佬说:丢雷楼谋,美国佬肯定听不懂了。自然是翻译员翻译好了再跟美国佬说的。
Chinesepeople people=new Translator();
people.丢雷楼谋();
}
}
//普通人都会说话
abstract class Chinesepeople{
public abstract void 丢雷楼谋();
}
class Translator extends Chinesepeople{
//生成一个内部的美国大叔对象,表明翻译者与美国佬有关联
AmericanUncle uncle=new AmericanUncle();
@Override
public void 丢雷楼谋() {
//翻译者将骂人的话转化成英文告诉美国佬
uncle.fuckyou();
}
}
class AmericanUncle{
public void fuckyou(){
//好吧原谅我的英文水平。。
System.out.println("fuck me?i fuck you too...");
}
}
这下好了,就算不懂英文也能让美国佬知道在骂他了。