又分為三種:
類的介面卡模式:
package designpattern.structure.adapter.classadapter;public
inte***ce
itarget
package designpattern.structure.adapter.classadapter;
public
class
source
}package designpattern.structure.adapter.classadapter;
public
class
sourceadapter extends source implements itarget
}package designpattern.structure.adapter.classadapter;
/**
* 類的適配模式:
* 即想讓沒有實現itarget介面的source類為 itarget 工作
* ———— 具體來說是想讓itarget在適當時候呼叫source , 別的時候,則不需要(別的時候通過適配來工作)
* */public
class
client
}
物件的介面卡模式:
package designpattern.structure.adapter.objectadapter;public
inte***ce
itarget
package designpattern.structure.adapter.objectadapter;
public
class
source
}package designpattern.structure.adapter.objectadapter;
public
class
private
source source;
public
super();
this.source =source;
} public
void
method2()
public
void
method1()
} package designpattern.structure.adapter.objectadapter;
/**
* 類的適配模式:
* 即想讓沒有實現itarget介面的source類為 itarget 工作
* ———— 具體來說是想讓itarget在適當時候呼叫source , 別的時候,則不需要(別的時候通過適配來工作)
* */public
class
client
}
介面的介面卡模式:
package designpattern.structure.adapter.inte***ceadapter;public
inte***ce
itarget
package designpattern.structure.adapter.inte***ceadapter;
public
abstract
class
public
void method2()
public
void
method1()
} package designpattern.structure.adapter.inte***ceadapter;
public
class
public
void
method1()
}package designpattern.structure.adapter.inte***ceadapter;
public
class
public
void
method2()
}package designpattern.structure.adapter.inte***ceadapter;
/**
* 介面的適配模式:
* */public
class
client
}
總結:其實,它主要是為了使不相容的兩個(多個?)介面/類一起工作。
——一起工作的意思是說,呼叫a介面方法m1的時候,我想實際呼叫b類的m1實現——b類必須有m1(就是說a介面的其中乙個方法),否則也無需適配,直接重新實現a介面就行了?不是嗎?
——介面可以有很多方法,但是目標類必須有它其中乙個實現,—— 這樣才能適配啊!!
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...
設計模式 介面卡模式(類介面卡和物件介面卡)
如果去歐洲國家去旅遊的話,他們的插座如下圖最左邊,是歐洲標準。而我們使用的插頭如下圖最右邊的。因此我們的膝上型電腦,手機在當地不能直接充電。所以就需要乙個插座轉換器,轉換器第1面插入當地的插座,第2麵供我們充電,這樣使得我們的插頭在當地能使用。生活中這樣的例子很多,手機充電器 將220v轉換為5v的...
設計模式 介面卡
一 功能 將乙個類的介面轉換成客戶希望的另外乙個介面,解決兩個已有介面之間不匹配的問題。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。二 示例 1 class adapter namespace designpattern adapter class target cl...