學習更多設計模式請參考:入門設計模式之彙總篇 適配器模式:把一個類的介面轉換為客戶端需要的另一個介面 比如說,我們去相親,目標中的女孩是會唱歌會跳舞的女孩,但是介紹人說這個女孩只會唱歌,不會跳舞,那你肯定不會滿意呀。不過介紹人說,沒關係,我有辦法。哦?那我們來看看他有什麼辦法呢 上方Girl介面就是 ...
學習更多設計模式請參考:入門設計模式之彙總篇
適配器模式:把一個類的介面轉換為客戶端需要的另一個介面
比如說,我們去相親,目標中的女孩是會唱歌會跳舞的女孩,但是介紹人說這個女孩只會唱歌,不會跳舞,那你肯定不會滿意呀。不過介紹人說,沒關係,我有辦法。哦?那我們來看看他有什麼辦法呢
- 上方Girl介面就是我們希望女孩的樣子,也就是女孩介面,會唱歌會跳舞。
- 這個SimpleGirl就是介紹人一開始說的只會唱歌的女孩
- 下方Adapter就是介紹人的方法了,它就是通過這個類讓我們實現了夢想中的女孩,來看一下實現吧
public interface Girl {
public void sing();
public void dance();
}
public class SimpleGirl {
public void sing() {
}
}
public class Adapter implements Girl {
SimpleGirl girl;
Adapter(SimpleGirl girl){
this.girl=girl;
}
@Override
public void dance() {
}
public void sing() {
girl.sing();
}
}
這個實現的原理呢其實就是在女孩類的外麵包裝了一層,使她學會了跳舞的方法。
本文出自https://zhixiang.org.cn/#/blog/read/c59dd69d-f539-43e8-9834-7f28c8f30432,轉載請保留。