适配器模式:就是原先的接口不适用,需要一个适配器换到另一个接口
如图所示:
核心代码就是:FishingBoat重写了原接口RowingBoat的row()方法
例子:
public class App { public static void main(String[] args) { Captain captain=new Captain(new FishingBoatAdapter()); captain.row(); } }
public class Captain implements RowingBoat { private RowingBoat rowingBoat; public Captain(RowingBoat rowingBoat){ this.rowingBoat=rowingBoat; } @Override public void row() { rowingBoat.row(); } }
public class FishingBoat { public void sail(){ System.out.println("The boat is sailing"); } }
public class FishingBoatAdapter implements RowingBoat{ private FishingBoat boat; public FishingBoatAdapter(){ boat=new FishingBoat(); } @Override public void row() { boat.sail(); } }
public interface RowingBoat { void row(); }