适配器模式就是将某一些对象转成我们需要的适配的对象。
适配器设计模式分为两类:
- 对象适配(比较常见):当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个包装类,持有原类的一个实例,在包装类的方法中,调用实例的方法就行。
- 类适配:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可
- 适配器类作为中间类,一般都是抽象类,因为抽象类可以有抽象方法,也可以有一般方法,也可以有构造方法,可以在实现接口的时候通过构造方法对原始的接口对象赋值,这样可以调用原始对象的原始方法,将一部分接口中的无关方法提前实现了,避免被子类实现的时候还需要实现无关方法。
举个例子:当前类不能满足客户端需求,但又不能修改当前类(开闭原则:一个软件实体(如类,模块和函数)应该对扩展开放,对修改关闭。),因此创建【适配器类】和【客户端目标接口】,实现方式有两种:1)适配器类【继承】当前类并实现目标接口;2)适配器类包含当前类引用并实现目标接口
类适配器模式:
一句