转载自:https://www.cnblogs.com/V1haoge/p/6479118.html 感谢原作者!
适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。
适配器有以下三种模式:类适配器、对象适配器、接口适配器。
1.适配器模式
1.1类适配器
原理:通过继承来实现。
创建一个适配器类继承已有实现方法的父类,在子类中实现目标接口。
1.2对象适配器
原理:通过组合来实现。
创建一个适配器类来继承一个需要被实现的抽象类,在适配器类中声明拥有实现方法的类对象,通过访问类对象的方法来实现抽象类中的接口。
1.3接口适配器
原理:通过抽象类实现。
用抽象类作为适配器实现目标接口,所有方法置空,再创建抽象类的继承类重写我们需要的那几个方法即可。
2.应用场景
2.1类、对象适配器(使用场景一致)
1.想要使用一个已经存在的类,但是它却不符合现有的接口规范,导致无法直接去访问,这时创建一个适配器就能间接去访问这个类中的方法。
2.我们有一个类,想将其设计为可重用的类(可被多处访问),我们可以创建适配器来将这个类来适配其他没有提供合适接口的类。
2.2接口适配器
接口中有太多的方法,如果直接继承接口需要实现所有的方法,而当我们只想实现接口的部分方法时,可以选择接口适配器。先用抽象类作为适配器去实现接口,所有方法置空,再创建抽象类的继承类来选择实现需要的接口方法。