将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 主要可分为3种:

    1. 类适配:创建新类,继承源类,并实现新接口

    例如:

    1. class adapter extends oldClass implements newFunc{}
    1. 对象适配:创建新类持源类的实例,并实现新接口

    例如:

    1. class adapter implements newFunc {
    2. private oldClass oldInstance;
    3. }
    1. 接口适配:创建新的抽象类实现旧接口方法。

    例如

    1. abstract class adapter implements oldClassFunc {
    2. void newFunc();
    3. }


    使用场景:
    你有动机修改一个已经投产中的接口时,适配器模式可能是适合你的模式。比如系统扩展了,需要使用一个已有或新建立的类,但这个类又不符合系统的接口,怎么办?使用适配器模式,这也是我们例子中提到的。