定义:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。
    例子:

    手机充电:家里的电源插座都是220V交流电,而手机只能接收5V的直流电,是不能直接使用电源直接充电的。所以就需要用到充电头去将电流转化为手机能用的电流。这里的充电头就是一个适配器。

    直接上代码:

    1. /**
    2. * 交流电220V
    3. */
    4. public class AC220V {
    5. /**
    6. * 输出220v交流电
    7. * @return
    8. */
    9. public int output220v() {
    10. return 220;
    11. }
    12. }
    13. /**
    14. * 直流5v接口
    15. */
    16. public interface DC5V {
    17. /**
    18. * 输出5v交流电
    19. * @return
    20. */
    21. int output5v();
    22. }
    23. /**
    24. * 交流电220v转为直流电5v
    25. */
    26. public class Power5VAdaptor extends AC220V implements DC5V{
    27. @Override
    28. public int output5v() {
    29. int i = output220v();
    30. //转为直流5v
    31. return (i/44);
    32. }
    33. }
    34. public class Phone {
    35. public static void main(String[] args) {
    36. Power5VAdaptor power5VAdaptor = new Power5VAdaptor();
    37. System.out.println("手机充"+power5VAdaptor.output5v()+"v的电。");
    38. }
    39. }

    类图:
    image.png