适配器模式

设计模式之适配器模式

适配器模式主要解决同一问题,而必须采用新的方法,即客户希望采用自已的方法。举例说,比如三脚插座转两脚插座转换器,大头转小头音箱转换头,机械硬件与固态硬盘的电源线转换器。

三脚插座接口

package adapter;
public interface Plug {
    public void power();
}

三脚插座接口实现方法

package adapter;
public class ThreePinPlug implements Plug {
    @Override
    public void power() {
        System.out.println("三脚插座");
    }
}

两脚插座

package adapter;
public class TwoPinPlug {
    public void myPower() {
        System.out.println("两脚插座");
    }
}

插座适配器

//由于三脚插座不能直接插两脚接头,所以在此我们做了一个转换器

package adapter;
public class TowPinAdapter implements Plug {
    private TwoPinPlug twoPinPlug;
    public TowPinAdapter(TwoPinPlug twoPinPlug) {
        this.twoPinPlug = twoPinPlug;
    }
    @Override
    public void power() {
        this.twoPinPlug.myPower();
    }
}

客户端调用

package adapter;
public class Client {
    public static void main(String[] args) {
       //三脚插座
        Plug threePinPlue = new ThreePinPlug();
        threePinPlue.power();
       //两脚接头
        TwoPinPlug towPinPlug = new TwoPinPlug();
       //转换器
        Plug towPinPlugAdapter = new TowPinAdapter(towPinPlug);
        towPinPlugAdapter.power();
    }
}
//运行结果

//三脚插座
//两脚插座

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