适配器模式

将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作
适配器模式分为:类适配器、对象适配器、接口适配器
类适配器模式的代码如下:
Target:给手机充电目标类
在这里插入图片描述
Adaptee:被适配者,交流电压220v
在这里插入图片描述

Adapter:适配器,将220v的交流电压转为5v
在这里插入图片描述
测试类:
在这里插入图片描述
类图如下:
在这里插入图片描述
对象适配器模式的代码如下:
Target:给手机充电目标类
在这里插入图片描述
Adaptee:被适配者,交流电压220v
在这里插入图片描述

Adapter:适配器,将220v的交流电压转为5v
在这里插入图片描述
测试结果:
在这里插入图片描述
类图如下:
在这里插入图片描述
区别:

  • 在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系。
  • 对象适配器更符合设计模式中的合成复用原则,尽量避免使用继承
    接口适配器:
    当不需要实现一个接口所提供的所有方法时,可以设计一个抽象类实现该接口,并为每个接口提供一个默认实现,那么该抽象类的子类可以选择性覆盖父类中的方法,它适用于不想使用一个接口中的所有方法的情况,又称为单接口适配器模式。
    demo:
    在这里插入图片描述
    在这里插入图片描述

简单的理解就是当适配者(Adaptee)有大量的方法时,那么每个适配器(Adapter)都要去实现接口中的这些方法,这样就感觉太费劲。所以这种情况下,可以考虑实现个默认的适配器,然后根据实际目标角色接口的类集成这个默认适配器,然后选择性的实现默认适配器中的一些方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值