1 定义:
将两个不兼容的类纠合在一起使用,属于结构型模式,需要有被适配者(Adaptee)和适配器(Adapor)两个身份。
2 为何使用:
我们经常需要将两上没有关系的类组合在一起使用,第一解决方案是修改各自类的接口,便如没有源代码,或者我们不愿意为一个应用而修改接口怎么办,就用Adapter创建混血的组合体。
至于怎么用可以参考 《think in java》的“类再生”这一节所提到的两个方式:组合(Composition)和继承(inheritance)
参考例子:
package com.pdw.pattern;
/**
* 两个不兼容的类纠合在一起使用,属于结构模型,需有被适配器(Adaptee)和适配器(Adaptor)两个身份
*
* @author Administrator
*
*/
//打方型
class SquarePeg{
public void insert(String str){
System.out.println("打方型-->"+str);
}
}
//打圆柱型
class RoundPeg{
public void insertIntohole(String msg){
System.out.println("打圆柱型-->"+msg);
}
}
class PegAdapter extends SquarePeg{
private RoundPeg rp;
public PegAdapter(RoundPeg vrp){
this.rp=vrp;
}
public void insertRound(String str){
rp.insertIntohole(str);
}
public void insertSquare(String str){
super.insert(str);
}
}
public class AdapterImpl {
/**
* @param args
*/
public static void main(String[] args) {
RoundPeg rp=new RoundPeg();
PegAdapter pg=new PegAdapter(rp);
pg.insertRound("圆柱型");
pg.insertSquare("方型");
}
}
posted on 2006-07-03 23:03
有猫相伴的日子 阅读(462)
评论(0) 编辑 收藏 所属分类:
Patterns