java设计模式---适配器模式

1. 类适配器

已有的接口

package indi.tlq.adapter;           
public interface Usb{                 
    public void isUsb();
} 
package indi.tlq.adapter;
public class Usber implements Usb{
    @Override
    public void isUsb(){
        System.out.println("----usb-----");
    }
}

需要转换成的接口

package indi.tlq.adapter;
public interface Ps2{
    void isPs2();
}

Adapter1直接继承了Usber类

package indi.tlq.adapter;                           
public class Adapter1 extends Usber implements Ps2{ 
    @Override  
    // 在类的内部直接去做一个转换                                     
    public void isPs2(){                            
        isUsb();                                    
    }                                               
}                                                   
package indi.tlq.adapter;
public class Test1{
    public static void main(String[] args){
        Ps2 p = new Adapter1();
        p.isPs2();
    }
}

2. 对象适配器

package indi.tlq.adapter;
public class Adapter2 implements Ps2{
    // 适配器类持有类
    private   Usb usb = null;

    Adapter2(Usb u){
        usb = u;
    }
    @Override
    public void isPs2(){
        usb.isUsb();
    }
}

3. 接口适配器

package indi.tlq.adapter;
public interface A{
    int a();
    int b();
    int c();
    int d();
}
package indi.tlq.adapter;
public abstract class Adapter3 implements A{
    public int a(){return 0;}
    public int b(){return 0;}
    public int c(){return 0;}
    public int d(){return 0;}
}
package indi.tlq.adapter;
public class AdapterImpl extends Adapter3{
    public int a(){
        System.out.println("this is a adapter mmm");
        return 0;
    }
}                                          

参考文档
https://www.cnblogs.com/V1haoge/p/6479118.html

猜你喜欢

转载自blog.csdn.net/tanliqing2010/article/details/80553424