適配器模式(二)

          @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);

          常用鏈接

          留言簿

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          主站蜘蛛池模板: 皋兰县| 鄂尔多斯市| 哈巴河县| 郸城县| 南木林县| 清水县| 彭阳县| 个旧市| 江门市| 普兰店市| 深泽县| 宾阳县| 上杭县| 镇坪县| 独山县| 福海县| 贵港市| 江源县| 上栗县| 临沧市| 堆龙德庆县| 湘阴县| 金秀| 道真| 甘肃省| 黄大仙区| 都江堰市| 永仁县| 巫溪县| 平果县| 上饶县| 绥滨县| 垣曲县| 定结县| 龙陵县| 东辽县| 台北市| 新乡县| 文安县| 邵东县| 略阳县|