如兩個物件都不同,但用中間的轉換器可以達到互通的目的
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
沒有留言:
張貼留言