版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。部落格源位址為zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/80866469
學習更多設計模式請參考: 入門設計模式之彙總篇
擴充卡模式:把一個類的接口轉換為用戶端需要的另一個接口
比如說,我們去相親,目标中的女孩是會唱歌會跳舞的女孩,但是介紹人說這個女孩隻會唱歌,不會跳舞,那你肯定不會滿意呀。不過介紹人說,沒關系,我有辦法。哦?那我們來看看他有什麼辦法呢
- 上方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,轉載請保留。