Java設計模式 介面卡 Adapter

2021-08-29 15:08:45 字數 1750 閱讀 2862

如果現在有一台使用12v直流電的膝上型電腦,要將插頭接到220v的交流電電源,直接接到電源我想筆記本要報銷了。你需要用到乙個交流電介面卡(ac adapter)。交流電介面卡能夠將家用的220v交流電轉換成我們需要的12v直流電。介面卡的功能就是介入原有電源和需要的電源之間,作為溝通的橋梁。介面卡的原文是adapter,代表"適合"的意思。

在程式設計中我們也需要用到「介面卡」,如果原有的內容無法直接利用時,通常要轉換成必要的型別後再使用,實現轉換功能的就是

adapter pattern

adapter pattern分為兩種情況:

下面的程式使用類的adapter pattern輸出字串"$hello$"和"*hello*"

程式示例1

1.print介面,可以看成我們需要的內容

package com.pattern.adapter;

public inte***ce print

2.原有的內容

package com.pattern.adapter;

public class banner

public void showwithparen()

public void showwithaster()

}

3.介面卡,將原有的內容轉換成我們需要的

package com.pattern.adapter;

/** * 介面卡類

* @author administrator

*/public class printbanner extends banner implements print

//輸出減弱的字串

public void printstrong()

//輸出加強的字串

public void printweak()

}

4.測試類

package com.pattern.adapter;

public class main

}

從main類的源**中完全看不出有banner類,showwithparen(),showwtihaster()方法,好象只有人給膝上型電腦提供12v直流電,根據不知道它的原形(adapter介面卡的另一端)竟然是220v的交流電!

下面的**採用物件的委託實現程式示例1的功能

程式救命2:

1.注意這裡的print不再是介面,而是抽象類

package com.pattern.adapter;

public abstract print

2.介面卡,採用物件委託模式

package com.pattern.adapter;

/** * 介面卡類

* @author administrator

*/public class printbanner extends print

//輸出減弱的字串

public void printstrong()

//輸出加強的字串

public void printweak()

}

測試類同上

設計思想:

把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面原因不匹配而無法一起工作的兩個類能夠一起工作。適配類可以根據引數返還乙個合適的例項給客戶端。

介面卡 JAVA設計模式

介面卡就是讓實現不同介面的類協同工作。1.定義乙個提供給客戶的目標介面target 2.定義乙個需要適配的類result 3.定義乙個介面卡adapter 對使用者的介面 public inte ce target 需要適配的類,此介面可能實現了其它的介面如usb3介面等。public class ...

java 介面卡設計模式

a.什麼是介面卡 在使用 的時候,需要定義乙個類事件 介面.通常介面中有多個方法,而程式中不一定所有的都用到,但又必須重寫,這很繁瑣.介面卡簡化了這些操作,我們定義 時只要繼承介面卡,然後重寫需要的方法即可.b.介面卡原理 介面卡就是乙個類,實現了 介面,所有抽象方法都重寫了,但是方法全是空的.介面...

JAVA設計模式 介面卡模式

介面卡模式 要點 1 介面卡模式主要應用於 希望復用一些現存的類,但是介面又與復用環境要求不一致的情況 在遺留 復用 類庫遷移等方面非常有用。2 介面卡模式有物件介面卡和類介面卡兩種形式的實現結構,但是類介面卡採用 多繼承 的實現方式,帶來了不良的高耦合,所以一般不推薦使用。物件介面卡採用 物件組合...