本站不再更新,欢迎光临 java开发技术网
随笔-230  评论-230  文章-8  trackbacks-0

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 有猫相伴的日子 阅读(447) 评论(0)  编辑  收藏 所属分类: Patterns

只有注册用户登录后才能发表评论。


网站导航:
 
本站不再更新,欢迎光临 java开发技术网