適配器模式(二)

          @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 接口A:

          package com.jerry.design.adapter2.imp;


          public interface InterfaceA {

          public void testA();


          }


          接口B:

          package com.jerry.design.adapter2.imp;


          public interface InterfaceB {

          public void testB();


          }


          實現類A:

          package com.jerry.design.adapter2.impl;


          import com.jerry.design.adapter2.imp.InterfaceA;



          public class ImplA implements InterfaceA{


          @Override

          public void testA() {

          System.out.println(" i am do something as InterfaceA!");

          }


          }


          實現類B:

          package com.jerry.design.adapter2.impl;


          import com.jerry.design.adapter2.imp.InterfaceB;


          public class ImplB implements InterfaceB{


          @Override

          public void testB() {

          System.out.println(" i am do something as InterfaceB!");

          }


          }


          實現類C:

          package com.jerry.design.adapter2.impl;

          import com.jerry.design.adapter2.imp.InterfaceA;
          import com.jerry.design.adapter2.imp.InterfaceB;



          public class ImplC implements InterfaceB,InterfaceA{

          private InterfaceA implA;
          private InterfaceB implB;
          public ImplC(InterfaceA implA,InterfaceB implB){
          this.implA = implA;
          this.implB = implB;
          }
          @Override
          public void testB() {
          implA.testA();
          }
          @Override
          public void testA() {
          implB.testB();
          }

          }


          測試類:

          package com.jerry.design.adapter2.client;

          import com.jerry.design.adapter2.imp.InterfaceA;
          import com.jerry.design.adapter2.imp.InterfaceB;
          import com.jerry.design.adapter2.impl.ImplA;
          import com.jerry.design.adapter2.impl.ImplB;
          import com.jerry.design.adapter2.impl.ImplC;


          public class Test {
          public static void main(String[] args) {
          InterfaceA implA = (InterfaceA) new ImplA();
          InterfaceB implB = (InterfaceB) new ImplB();
          InterfaceA implC = (InterfaceA) new ImplC(implA,implB);
          InterfaceB implD = (InterfaceB) new ImplC(implA,implB);
          implC.testA();// i am do something as InterfaceB!
          implD.testB();// i am do something as InterfaceA!
          }

          }

          總結:正向反向均可適配。

           


          posted on 2012-02-19 20:53 瘋狂的蝸牛 閱讀(77) 評論(0)  編輯  收藏 所屬分類: 設計模式


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          公告

          @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

          常用鏈接

          留言簿

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          主站蜘蛛池模板: 元阳县| 巢湖市| 大余县| 洪湖市| 根河市| 甘泉县| 安乡县| 乌兰浩特市| 肃宁县| 东阳市| 渝中区| 清原| 鞍山市| 龙门县| 兰考县| 东阳市| 永嘉县| 四子王旗| 皮山县| 嘉义县| 邢台县| 赤水市| 武宁县| 昭苏县| 济南市| 景宁| 五指山市| 东台市| 洛南县| 莱芜市| 五常市| 金川县| 太仓市| 孝感市| 定西市| 吉木萨尔县| 神池县| 运城市| 宝清县| 泸溪县| 兴山县|