适配器模式:就是原先的接口不适用,需要一个适配器换到另一个接口
如图所示:
核心代码就是: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();
}