介面卡模式 當不需要實現乙個介面所提供的所有方法時,可先設計乙個抽象類該介面,並為介面每個方法提供乙個預設實現 該抽象類的子類可以選擇性地覆蓋父類的某些方法來實現需求 角色 適配者介面 通常在介面中宣告了大量的方法 預設介面卡類 可以用空方法的形式實現介面中宣告的方法 具體業務類 預設介面卡類的子類1.機械人介面
package adapter;
/** * created by e550 on 2016/10/3.
*/public
inte***ce
robot
2.鳥類與鳥類介面卡
package adapter;
/** * created by e550 on 2016/10/3.
*/public
class
bird
public
void
fly()
}
package
adapter;
/** * created by e550 on 2016/10/3.
*/public class
birdadapter
extends
bird
implements
robot
public void cry()
}
3.狗類與狗類介面卡
package adapter;
/** * created by e550 on 2016/10/3.
*/public
class
dog public
void
run()
}
package
adapter;
/** * created by e550 on 2016/10/3.
*/public class
dogadapter
extends
dogimplements
robot
public void move()
}
4.客戶端
package adapter;
/** * created by e550 on 2016/10/3.
*/public
class
client
}
執行結果
機械人模仿:鳥兒嘰嘰叫!
機械人模仿:鳥兒快快飛!
繼續進行
5.建立機器鳥類繼承鳥類介面卡
package
adapter;
/** * created by e550 on 2016/10/3.
*/public class
robotbird
extends
birdadapter
}
說明,它繼承介面卡之後,就沒必要實現所有的機器介面了。只需要根據使用情況,覆蓋介面卡中的方法。
修改客戶端
package adapter;
/** * created by e550 on 2016/10/3.
*/public
class
client
}
執行結果
我是機器鳥:嘰嘰嘰
機械人模仿:鳥兒快快飛!
JAVA設計模式之介面卡模式
先總結一下整個過程的感想 感覺在網上找了很多資料,大部分大牛們把這個設計模式解釋的很仔細,但是用詞實在過於專業,很難讓初學者讀懂,自己找了乙個比較恰當的例子寫了一遍,對這個設計模式有了一定的認識,希望這種解釋可以得到認可。其實總結一下介面卡模式的最終目的 在乙個沒有實現某個介面的類,想在這個介面中規...
Java設計模式之介面卡模式
1 使用場景 介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面。以消除由於介面的不匹配所造成類的相容性問題。介面卡模式主要有類的介面卡模式 物件的介面卡模式兩種。2 兩種介面卡模式介紹 模式所涉及的角色有 目標 target 角色 這就是所期待得到的介面。源 adapee 角色 現在需要適配的...
Java設計模式之介面卡模式
介面卡就是一種適配中介軟體,它存在於不匹配的二者之間,用於連線二者,將不匹配變得匹配,簡單點理解就是平常所見的轉接頭,轉換器之類的存在。介面卡模式有兩種 類介面卡和物件介面卡 二者在實現上有些許區別,作用一樣。1 類介面卡模式 原理 通過繼承來實現介面卡功能。當我們要訪問的介面a中沒有我們想要的方法...