如兩個物件都不同,但用中間的轉換器可以達到互通的目的
1.寫兩組介面和實作,彼此無關聯
2.寫轉換器,繼承其中一個實作並實作另一個介面
測試時,取得介面的方法就可取到實作的內容
※
public interface Adapter1 { String getOoo(); String getXxx(); } -------------------- public class Adapter1Impl implements Adapter1 { @Override public String getOoo() { return "ooo"; } @Override public String getXxx() { return "xxx"; } }
※
※
public interface Adapter2 { String getAaa(); String getBbb(); } -------------------- public class Adapter2Impl implements Adapter2 { @Override public String getAaa() { return "aaa"; } @Override public String getBbb() { return "bbb"; } }
※
※
public class Center extends Adapter2Impl implements Adapter1 { String a = super.getAaa(); String b = super.getBbb(); @Override public String getOoo() { return a; } @Override public String getXxx() { return b; } }
※
※測試
Adapter1 a1 = new Center(); System.out.println(a1.getOoo()); System.out.println(a1.getXxx());
※結果:
aaa
bbb
沒有留言:
張貼留言