构建模式--Adapter模式(JAVA)
生活随笔
收集整理的這篇文章主要介紹了
构建模式--Adapter模式(JAVA)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
適配器模式:
? ? ? ? ? ?適配器就相當于我們的轉接頭,比如手機充電器插頭(小米和華為的手機充電器不能共用,這時候就可以給華為的充電器按一個轉接頭,就可以給小米手機充電)。
? ? ? ? ? 同理,當一個類(充電器 HuaweiCharger)實現(xiàn)了某一個接口(華為 HuaweiPhone),但有時我們又需要去實現(xiàn)另一個接口(小米 XiaomiPhone),如果直接讓充電器去實現(xiàn)小米接口,就需要實現(xiàn)小米接口中的方法,如果充電器類已經被打到一個包中,這時候修改就比較困難,也違反開閉原則(擴展開,修改閉)。因此我們就需要建立一個適配器類(HTXAdapter Huawei Transform Xiaomi Adapter)去實現(xiàn)小米接口,同時又繼承自充電器類。
1 /** 2 * 華為手機接口 3 * 4 * @author DennyZhao 5 * @date 2017年6月20日 6 * @version 1.0 7 */ 8 public interface HuaweiPhone { 9 10 public int getSquarePlug(); 11 12 public int getSquareInterface(); 13 14 public void getAndroidSys(); 15 16 public void getHuaweiInput(); 17 18 public void getInterCpu(); 19 20 public void getInterBoard(); 21 22 } HuaweiPhone 1 /** 2 * 小米手機 3 * 4 * @author DennyZhao 5 * @date 2017年6月20日 6 * @version 1.0 7 */ 8 public interface XiaomiPhone { 9 10 public int getCirclePlug(); 11 12 public int getCircleInterface(); 13 14 public void getAndroidPlusSys(); 15 16 public void getXiaomiInput(); 17 18 public void getAMDCpu(); 19 20 public void getAMDBoard(); 21 } XiaomiPhone 1 /** 2 * 華為充電器 3 * 4 * @author DennyZhao 5 * @date 2017年6月20日 6 * @version 1.0 7 */ 8 public class HuaweiCharger extends HuaweiPhoneImpl implements HuaweiPhone{ 9 10 @Override 11 public int getSquarePlug() { 12 System.out.println("squarePlug----------"); 13 return 0; 14 } 15 16 @Override 17 public int getSquareInterface() { 18 System.out.println("squareInterface----------"); 19 return 0; 20 } 21 22 23 } HuaweiCharger 1 /** 2 * description:設計原則講究擴展開,修改閉。因此當我們需要將一個類去實現(xiàn)另一個接口時,可以通過創(chuàng)建子類去實現(xiàn)這個接口。 3 * 4 * @author DennyZhao 5 * @date 2017年6月12日 6 * @version 1.0 7 */ 8 public class HTXAdapter extends HuaweiCharger implements XiaomiPhone{ 9 10 /** 11 * 小米適配 12 */ 13 @Override 14 public int getCirclePlug() { 15 int a = super.getSquarePlug(); 16 return a+ 5; 17 } 18 19 /** 20 * 小米適配 21 */ 22 @Override 23 public int getCircleInterface() { 24 int b = super.getSquareInterface(); 25 return b + 4; 26 } 27 @Override 28 public void getAndroidPlusSys() { 29 // TODO Auto-generated method stub 30 31 } 32 33 @Override 34 public void getXiaomiInput() { 35 // TODO Auto-generated method stub 36 37 } 38 39 @Override 40 public void getAMDCpu() { 41 // TODO Auto-generated method stub 42 43 } 44 45 @Override 46 public void getAMDBoard() { 47 // TODO Auto-generated method stub 48 49 } 50 51 } HTXAdapter通過上面的代碼就可以知道,HTXAdaper實現(xiàn)了Xiaomi接口的所有方法,這樣就不會污染HuaweiCharger了。隨時不用可以去掉。插拔式結構。
?
轉載于:https://www.cnblogs.com/DennyZhao/p/7052916.html
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的构建模式--Adapter模式(JAVA)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android开发学习——画横线竖线
- 下一篇: 沫沫金:PS快速扣头发丝【详细教程】