适配器模式(Adapter)

适配器模式分3种

  • 类适配
  • 对象适配
  • 接口适配

1.类适配

对象适配就是要继承一个实例化对象

Usb接口:
public interface Usb {

    void isUsb();
}

Usb接口实现类:
public class Usber implements Usb {

    @Override
    public void isUsb() {
        System.out.println("USB口");
    }
}

Ps2接口:
public interface Ps2 {

    void isPs2();
}

类适配器,Adapter1 继承Usb接口的实现类Usber。因此Adapter1 就有USB口的功能,在实现Ps2接口,在接口isPs2里面调用Usber的方法isUsb,成功的把Ps2实现类适配有Usb实现的功能
public class Adapter1 extends Usber implements Ps2 {

    @Override
    public void isPs2() {
        isUsb();
    }

    public static void main(String[] args) {
        Adapter1 adapter = new Adapter1();
        adapter.isPs2();
    }
}

2.对象适配

对象适配就是在成员变量里面有另一个类对象的引用

对象适配就是在成员变量里面有Usber对象的引用,然后在相应的地方实现适配功能
public class Adapter2 implements Ps2 {

    private Usber mUsber;

    public Adapter2(Usber usber) {
        mUsber = usber;
    }

    @Override
    public void isPs2() {
        mUsber.isUsb();
    }

    public static void main(String[] args) {
        Adapter2 adapter = new Adapter2(new Usber());
        adapter.isPs2();
    }
}

3.接口适配

避免一个类在实现一个接口类时,去实现不必要的接口方法

比如这是一个接口类,我在实现这个接口类时,是不是要实现方法a、b、c,然后其中b、c我压根就不需要,这样就会让代码很难看,这个时候就可以用到接口适配
public interface interfaces {

    void a();

    void b();

    void c();
}

写一个适配器就实现interfaces接口,方法a、b、c空着就行
public abstract class Adapter3 implements interfaces {

    @Override
    public void a() {
    }

    @Override
    public void b() {
    }

    @Override
    public void c() {
    }
}

然后去集成适配器Adapter3,这个时候我想用哪个方法就重写该方法就行,这样看起来代码就清晰多了,避免了多余的方法
public class A1 extends Adapter3 {

    @Override
    public void a() {
        System.out.println("a");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值