定义:Adapter:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
角色设定:
Helen,初次接触设计模式的美女程序员(没有BF)。
AndyTao,高手,战斗力达到N级,对设计模式有相当程度的了解。
问题的提出:
Helen埋首在公司自己的小空间里写着代码,(旁白:她虽然是个美女,但是写代码的水平还是不错的。)有点问题正在埋头苦想,这时,AndyTao从旁边冒出来,“嗨,美女,到点了,一起吃饭吧?”“不行,我正烦着呢!”Helen皱着眉头说。“哇,谁,谁欺负咱们Helen???”“切,谁敢欺负我啊。”“那怎么了?”AndyTao一副义愤填膺的样子(这小子,司马昭之心)。
“没有啦,我这里程序不好处理。”“噢,我看看!”AndyTao不知什么时候已经在Helen的身后了。
屏幕上一段代码:
public class DrawCircle {
public void DrawCircle() {
……
}
public void insert(String msg){
System.out.println("DrawCircle insert():"+msg);
}
……
}
public class DrawAngle {
public void DrawAngle() {
……
}
public void insert(String msg){
System.out.println("DrawAngle insert():"+msg);
}
……
}
“我现在要在DrawCircle中调用DrawAngle的方法,可是类的已经分发出去了,不能修改,我该怎么办?”
看着美女皱眉头的样子,AndyTao一阵心痛,“这样啊,我给你提示,再写个Adapter类吧。”“什么是Adapter?”
“在实际编码过程中,由于某种需要,我们经常要将两个毫无关系的类交互。于是我们需要进行某种修正,修改各个类的接口,这通常不符合编码要求,而且,如果没有源代码,我们又该怎么办?于是,我们就要用到Adapter了,也就是适配器的意思。象你上面的程序,我们不能修改类接口,于是,我们再写一个Adapter类。”
public class DrawAdapter extends DrawCircle {