Java設計模式中適配器模式的實現方法


在Java開發中,我們常常需要用到Java接口型模式中的適配器模式,那適配器設計模式到底是什么模式呢?

適配器模式(Adapter)就是把一個類的接口變換成客戶端所期待的另一種接口,從而使原本接口不匹配而無法在一起工作的兩個類能夠在一起工作。舉個例子來說,現在一般的家用電器要求的電壓都是 220V,但有個別電器要求使用110V 電壓,怎么辦?這時就需要用一個能把 220V 電壓轉換成 110V 電壓的變壓器,這個變壓器就是一個適配器。

哪些情況我們需要使用適配器模式呢?

1、系統需要使用的類的接口不符合系統的要求。

2、要建立一個可以重復使用的類,用於與該類之間關聯不大的一些類,包括工作中引進的類。

3、類的適配器模式使用起來有點像多重繼承機制,利用接口的特性,把一些零散類組織到一起,成為一個新的類來實現調用,並且看起來像是對一個類的操作。實際上,適配器模式更多的是強調對代碼的組織,而不是功能的實現。

Java中適配器模式有什么作用呢?

適配器模式可以方便代碼的組織與模型的准確表示,可以把一個類中的成員插到另一個類的繼承子類中,從而讓這個繼承的子類看起來像一個新類,同時可以對父類減少依賴。

      了解了適配器模式的相關概念以后,我們最關心的還是它的實現,具體的設計過程是怎樣的呢?

 (1)定義適配器接口。代碼如下:

public interface IAdapter   

//適配器接口

{

String Drive();

}

(2)定義適配器類 Adapter,實現 IAdapter 接口。代碼如下:

public class Adapter implements IAdapter

//適配器類

{

public String Drive()

{

return "變壓器";

}

}

 (3)定義改變適配器類,該類主要實現將變壓器的電壓從 110V 改變為 220V。代碼如下:

public class ChangeAdapter

//改變適配器類

{

public String Web(String str)

{

return str;

}

}

(4)定義輸出電壓為 110V 的變壓器類。代碼如下:

public class CClass extends ChangeAdapter implements IAdapter

//實現類適配器

{

public String Drive()

{

return this.Web("(1)輸出電壓:110V");

}

}

 (5)定義輸出電壓為 220V 的變壓器類。代碼如下:

public class CObject implements IAdapter   

//實現對象適配器

{

private ChangeAdapter changeAdapter;

public CObject()

{

changeAdapter = new ChangeAdapter();

}

public String Drive()

{

return changeAdapter.Web("(2)輸出電壓:220V");

}

}

 

 (6)在 main()方法中使用變壓器將 110V 的電壓變壓為 220V。代碼如下:

class Program   

{

public static void main(String[] args)

{

IAdapter dap = new Adapter();

System.out.println((dap.Drive()));

dap = new CClass();

//調用第一個適配器

System.out.println((dap.Drive()));

dap = new CObject();

//調用第二個適配器

System.out.println((dap.Drive()));

}

}

 

以上就是Java適配器模式的作用和具體使用方法,大家遇到類似情況時,可以用上面的代碼嘗試實現適配器模式。最后希望小編的分享,對大家在Java編程中有幫助。

 

相關閱讀:《Java 8 對象類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM