1.什麼是适配器模式?
把一個類的接口變換成客戶端所期待的另一種接口,從而使原本接口不匹配而無法一起工作的兩個類能夠在一起工作。
2.類的适配器模式的結構
public interface Target { /** * 這是源類有的方法 */ void sampleOperation1(); /** * 這是源類沒有的方法 */ void sampleOperation2(); } public class Adaptee { public void sampleOperation1() { System.out.println("1..."); } } public class Adapter extends Adaptee implements Target{ @Override public void sampleOperation2() { System.out.println("2...."); } public static void main(String[] args) { Adapter adapter = new Adapter(); adapter.sampleOperation1(); } }
3.對象的适配器模式的結構
對象的适配器模式不是使用繼承關系連接到Adaptee類,而是使用委派關系連接到Adaptee類。
public interface Target { /** * 這是源類有的方法 */ void sampleOperation1(); /** * 這是源類沒有的方法 */ void sampleOperation2(); } public class Adaptee { public void sampleOperation1() { System.out.println("1..."); } } public class Adapter implements Target{ private Adaptee adaptee; public Adapter(Adaptee adaptee) { super(); this.adaptee = adaptee; } @Override public void sampleOperation1() { adaptee.sampleOperation1(); } @Override public void sampleOperation2() { } }
4.在什麼情況下使用适配器模式
1).系統需要使用現有的類,而此類的接口不符合系統的需要。
2).想要建立一個可以重複使用的類,用于與一些彼此之間沒有太大關聯的一些類,包括一些可能在将來引進的類一起工作。這些源類不一定有很複雜的接口。
3).在設計裡,需要改變多個已有的子類的接口,如果使用類的适配器模式,就要針對每一個子類做一個适配器類,而這不太實際。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!