文章来源本人的博客:http://codelifeliwan.github.io/ 转载请注明出处
查看[设计模式]系列内容请点击:https://www.jianshu.com/nb/45937362
定义:
将一个类的接口转换成客户期望的另外一个接口,使得原本接口不兼容的类可以在一起工作。
理解:
当用户本身有一个接口A,但是在程序里面用的是B接口,与A不是一个接口,那么这时候想使用A中的方法就需要Adapter模式来使A接口和B接口在一起工作,举个栗子就是可以使用C接口,C接口继承了A和B接口,那么在必须传入B接口参数的地方传入C接口即可,同时也使用了A接口中的方法。
方法:
有两种实现方法:
1、 同上面说的,同时继承需要被适配的类或者接口和适配的类或者接口。
2、 同上的类C只继承B,但是在类C中实例化一个A的实例,调用A的方法。
适用场合:
1、 你想使用一个已经存在的类,但是其接口不符合你的要求。
2、 你想创建一个可复用的类,该类可以与其他不想关的类或者不可预见的类协同工作。
3、 你想使用一些已经存在的子类,但是不可能对每一个子类都子类化以匹配接口,使用Adapter适配其父接口。