适配器模式(类适配器 对象适配器)

做个笔记

引用 https://blog.csdn.net/weixin_40834464/article/details/82958187

public interface Usb {

    public void getUsb();
}

public interface Psp {
    public void getPsp();
}

public class Usber implements Usb {
    @Override
    public void getUsb() {
        System.out.println("usb接口");
    }
}

/**
 * 类适配器 psp适用usb接口
 */
public class UsbAdapter extends Usber implements Psp{
    @Override
    public void getPsp() {
//        System.out.println("psp接口");
        super.getUsb();
    }
}


/**
 * 对象适配器 psp适用usb接口
 */
public class UsbObjectAdapter implements Psp{

    private Usber usb;

    public UsbObjectAdapter(Usber usber){
        this.usb = usber;
    }

    @Override
    public void getPsp() {
        usb.getUsb();
    }
}

/**
 * 类适配器
 *
 * 1.usb接口   psp接口  两个接口方法不能互相实用
 * 2.usb接口实现类 Usber
 * 3.Usber 不能直接实用psp得方法
 * 4.适配器类AdapterTest 继承 Usber 实现psp接口
 *可以发现,我们调用的是Ps2的接口方法,返回的是Usb口,达到了适配的目的
 *
 * 类适配器与对象适配器的使用场景一致,仅仅是实现手段稍有区别,二者主要用于如下场景:
 *  (1)想要使用一个已经存在的类,但是它却不符合现有的接口规范,导致无法直接去访问,这时创建一个适配器就能间接去访问这个类中的方法
 *  (2)我们有一个类,想将其设计为可重用的类(可被多处访问),我们可以创建适配器来将这个类来适配其他没有提供合适接口的类
 *
 *
 * 对象适配器
 * 类实现Psp得接口  (UsbObjectAdapter适配器实现被适配psp得接口)
 * 构造方法获取标准得对象
 *
 *
 *目的是要Psp 去 适配 Usb得接口方法     通俗点就是 Psp要执行usb方法 改写psp方法
 */
public class AdapterTest {
    public static void main(String[] args) {
//        UsbAdapter usbAdapter = new UsbAdapter();
//        usbAdapter.getPsp();

        //类适配器 测试方法
        //可以发现,我们调用的是Psp的接口方法,返回的是Usb口,达到了适配的目的
//        Psp psp = new UsbAdapter();
//        psp.getPsp();


        //对象适配器 测试方法
        Usber usber = new Usber();
        new UsbObjectAdapter(usber).getPsp();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值