适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
适配器分为:类适配器、对象适配器、 缺省适配器模式。类适配器需要多重继承,java不能实现。缺省适配器模式是一种特殊的适配器模式,但这个适配器是由一个抽象类实现的,并且在抽象类中要实现目标接口中所规定的所有方法,但很多方法的实现都是“平庸”的实现,也就是说,这些方法都是空方法。而具体的子类都要继承此抽象类。
对象适配器类图:
引用head+first设计模式书中例子:
适配器模式与之前文章提到的装饰者模式有相识之处,但是可以从目的和实现过程轻松区分:装饰者模式旨在为对象添加新的行为和责任,通过持有接口对象丰富对象的功能;装饰者模式无需改变代码,只是为将一个类的接口适配为另一个。