Skip to content

设计模式


适配器模式

假如有这样一个接口:

public interface Inter{
    public abstract void method1();
    public abstract void method2();
    public abstract void method3();
}
我现在有一个类,但是我只想实现method2,怎么办?我如果implement Inter,就得把它们全部实现,这并不好. 怎么办?这时候就可以采用适配器模式. 准确来说,我们可以实现一个中间层类:
public class InterAdapter implements Inter{
    @override
    public void method1(){

    }

    @override
    public void method2(){

    }

    @override
    public void method3(){

    }
注意我们故意写的空实现. 接下来,我们让我们自己的类来继承InterAdapter,并且,想用哪个方法,就重写哪个方法.
public class InterImpl extends InterAdapter{
    @override
    public void method2{

    }
}
我们再回到适配器类.我们发现,外界创建适配器类是没有意义的.因此写成抽象类.
public abstract class InterAdapter implements Inter{
    @override
    public void method1(){

    }

    @override
    public void method2(){

    }

    @override
    public void method3(){

    }
tip:如果原本我InterImpl这个类想要继承父类怎么办?让InterAdapter去继承就可以了.