适配器模式

适配器:将一种东东转换成另一种东东,让不能直接使用的东东变成可以直接使用的东东。比如给手机充电,不能直接使用220V的电压,但是可以通过一个适配器把220V的电压转换成5V,这样手机就可以间接使用220V的电压充电了。


适配器模式_第1张图片
对象适配器
//不可以直接使用的220V电
public class Power220V {
    public void productPower220V() {
        System.out.println("提供220V电,但是不能直接用哦");
    }
}

public interface Power5V {
    //要使用5V才行
    void power5V();
}

//适配器出场
public class Power5VAdapter implements Power5V{
    //先拿到220V
    Power220V power220V;

    public Power5VAdapter(Power220V power220V) {
        this.power220V = power220V;
    }

    @Override
    public void power5V() {
        //拿到220V,转换成5V,处理处理。。
        power220V.productPower220V();
        tranform();


    }

    private void tranform() {
        System.out.println("已经将220V转成5V,可供手机使用了");
    }
}

public class Iphone {
    public void charge(Power5V power5V){
        power5V.power5V();
        System.out.println("获得了5V的电,开充!!!");
    }
}

public class AdapterTest {
    public static void main(String[] args) {
        Power5VAdapter power5VAdapter = new Power5VAdapter(new Power220V());
        new Iphone().charge(power5VAdapter);

    }
}
//结果
提供220V电,但是不能直接用哦
已经将220V转成5V,可供手机使用了
获得了5V的电,开充!!!

采用组合的方式,将原本不能在一起工作的类,变成了可以在一起工作。

你可能感兴趣的:(适配器模式)