將一個類的接口,轉換成客戶指望的另外一個接口。適配器模式讓本來接口不兼容的類能夠合做無間。java
/** * 鴨子接口 * * @author Colin * @create 2018-05-07 **/ public interface Duck { public void quack(); public void fly(); } /** * 雞 * * @author Colin * @create 2018-05-07 **/ public interface Chicken { public void Gege(); public void fly(); } ** * 適配器 * * @author Colin * @create 2018-05-07 **/ public class ChickenAdapter implements Duck { private Chicken chicken; public ChickenAdapter(Chicken chicken){ this.chicken=chicken; } @Override public void quack() { chicken.Gege(); } @Override public void fly() { chicken.fly(); } } /** * 綠鴨子 * * @author Colin * @create 2018-05-07 **/ public class GreenDuck implements Duck { @Override public void quack() { System.out.println("呱呱叫!"); } @Override public void fly() { System.out.println("飛起來!"); } } /** * 母雞 * * @author Colin * @create 2018-05-07 **/ public class HenChicken implements Chicken { @Override public void Gege() { System.out.println("母雞咯咯叫!"); } @Override public void fly() { System.out.println("母雞會飛!"); } } public class AdapterTest { @Test public void testAdapter(){ GreenDuck greenDuck=new GreenDuck(); HenChicken chicken=new HenChicken(); Duck duck=new ChickenAdapter(chicken); duck.quack(); duck.fly(); } }