美文网首页
类适配器模式-电压问题

类适配器模式-电压问题

作者: Shaw_Young | 来源:发表于2020-12-28 21:14 被阅读0次

类适配器模式

类适配器模式介绍
基本介绍:Adapter类,通过继承src类,实现dst类接口,完成src->dst的适配。

package com.young.adapter.classadapter;

/**
 * 被适配的类
 *
 * @author Shaw_Young
 * @date 2020/10/7 14:12
 */
public class Voltage220V {
    /**
     * 输出220V电压
     */
    public int output220V() {
        int src = 220;
        System.out.println("电压=" + src + "伏");
        return src;
    }

}
package com.young.adapter.classadapter;

/**
 * 适配接口
 *
 * @author Shaw_Young
 * @date 2020/10/7 14:14
 */
public interface IVoltage5V {
    /**
     * 输出5V电压
     *
     * @return 输出5V电压
     */
    int output5V();

}
package com.young.adapter.classadapter;

/**
 * 适配器类
 *
 * @author Shaw_Young
 * @date 2020/10/7 14:15
 */
public class VoltageAdapter extends Voltage220V implements IVoltage5V {
    @Override
    public int output5V() {
        //获取到220V电压
        int srcV = output220V();
        //转成5V
        int dstV = srcV / 44;
        return dstV;
    }
}
package com.young.adapter.classadapter;

/**
 * @author Shaw_Young
 * @date 2020/10/7 14:18
 */
public class Phone {

    /**
     * 充电
     */
    public void charging(IVoltage5V iVoltage5V) {
        if (iVoltage5V.output5V() == 5) {
            System.out.println("电压为5V,可以充电~~");
        } else if (iVoltage5V.output5V() > 5) {
            System.out.println("电压大于5V,无法充电~~");
        }
    }

}
package com.young.adapter.classadapter;

/**
 * @author Shaw_Young
 * @date 2020/10/7 14:20
 */
public class Client {

    public static void main(String[] args) {
        System.out.println("===类适配器模式===");
        Phone phone = new Phone();
        phone.charging(new VoltageAdapter());
    }

}

类适配器模式注意事项和细节

  1. Java是单继承机制,所以类适配器需要继承src类这一点算是一个缺点,因为这要求dst必须是接口,有一定局限性;
  2. src类的方法在Adapter中都会暴露出来,也增加了使用的成本;
  3. 由于其继承了src类,所以它可以根据需求重写src类的方法,使得Adapter的灵活性增强了。

相关文章

  • 类适配器模式-电压问题

    类适配器模式 类适配器模式介绍基本介绍:Adapter类,通过继承src类,实现dst类接口,完成src->dst...

  • 设计模式之构造型模式

    1、适配器模式 1.1 类的适配器模式 比如有这样一个变压器,可以转换220V电压和380V电压: 现在需要增加一...

  • 设计模式(Design Patterns)适配器模式(Adapt

    适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 类的适配器模式 场景:将一个类转换成...

  • 【设计模式】适配器模式

    学习文章 iOS设计模式 - 适配器 适配器模式(Adapter):类适配器、对象适配器 类图 说明 类适配器: ...

  • 适配器模式

    适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。适配器模式将某个类的接口转换成客户端期...

  • Java 适配器模式

    适配器模式用于消除接口不匹配造成的类兼容性问题 类模式的适配器采用继承的方式复用接口 对象模式的适配器采用组合的方...

  • 接口适配器模式-电压问题

    接口适配器模式介绍 一些书籍称为:适配器模式(Default Adapter Pattern)或缺省适配器模式。 ...

  • 设计模式之适配器模式

    适配器模式: 类适配器模式、对象适配器模式、接口适配器模式 1.类适配器模式:新的接口出现了,但是和老的接口不兼容...

  • Java设计模式(二)

    talk is cheap show me the code 适配器模式 类适配器模式 接口适配器模式 对象适配器...

  • Adapter 设计模式

    adapter 模式详解 类的适配器模式 把适配的类的 API转换为目标类的API。 对象适配器对象的适配器模式 ...

网友评论

      本文标题:类适配器模式-电压问题

      本文链接:https://www.haomeiwen.com/subject/okufpktx.html