
在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 對象類型》
