本站不再更新,歡迎光臨 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 有貓相伴的日子 閱讀(481) 評論(0)  編輯  收藏 所屬分類: Patterns
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 德保县| 洛阳市| 敦煌市| 汪清县| 桦甸市| 金秀| 荣成市| 镇巴县| 惠东县| 历史| 兴化市| 大埔县| 揭西县| 衡阳县| 宣恩县| 巨野县| 丽江市| 安阳县| 新郑市| 肇东市| 太谷县| 吴旗县| 黎平县| 淮滨县| 普陀区| 玉屏| 平乐县| 突泉县| 玉溪市| 庐江县| 祥云县| 抚松县| 平邑县| 格尔木市| 南陵县| 长沙市| 壤塘县| 高雄市| 怀柔区| 扎赉特旗| 新巴尔虎右旗|