网站建设多少钱一个站,网站建设推广的广告语,html网页制作表格代码,品牌广告和效果广告的区别2.1-适配器模式
类的适配器模式是把适配者类的API转换成为目标类的API#xff0c;适配器模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作#xff0c;其实在具体的开发中#xff0c;对于自己系统一开始的设计不会优先考虑适配器模式#xff0c;通常会将接…2.1-适配器模式
类的适配器模式是把适配者类的API转换成为目标类的API适配器模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作其实在具体的开发中对于自己系统一开始的设计不会优先考虑适配器模式通常会将接口设置成兼容的但是难免会有设计的缺陷导致接口不兼容的类需要一起工作这时候就可以使用适配器模式进行转换其次适配器模式经常用于接入第三方系统由于第三方系统与我们系统不兼容我们也不会因为接入这个三方系统而去修改我们现有的接口因此一般会使用适配器模式进行接口转换。
适配器模式主要包含如下几种角色
适配器类适配器模式的核心里面编写适配转换的代码是一个类目标类最终客户端所需要的接口可以是接口、抽象类、具体类在适配器中由于Java不支持类的多继承因此在Java的类适配器模式中只能是接口在对象适配器模式中可以是类适配者类里面包含了客户端所需要的API适配者类一般是一个具体的类
适配器模式主要包括两种实现形式类适配器和对象适配器其实这两种的主要区别就在于适配者类所处的位置接下来我们分别介绍
2.1.1-类适配器模式
类适配器模式中适配器类会实现目标类然后继承适配者类由于Java类不能多继承所以适配器模式中目标类只能是一个接口代码示例如下
适配者类
/*** 适配者* author Liu Hanlin* create 2024-09-30 22:14*/
public class ClsAdaptee {/*** 基础请求API* return*/public String baseRequestAPI(){return 基础请求API;}
}目标类
/*** 目标类* author Liu Hanlin* create 2024-09-30 22:13*/
public interface ClsTarget {/*** 目标请求API* return*/String request();
}适配器类
/*** 类适配器* author Liu Hanlin* create 2024-09-30 22:12*/
public class ClsAdapter extends ClsAdaptee implements ClsTarget{Overridepublic String request() {return this.baseRequestAPI();}
}2.1.2-对象适配器模式
对象适配器模式中适配器类会继承或实现目标类然后将适配者类作为适配器的一个属性在重写目标类的方法时调用适配者类的方法具体代码如下
适配者类
/*** 适配者类* author Liu Hanlin* create 2024-09-30 22:20*/
public class ObjAdaptee {/*** 基础请求API* return*/public String baseRequestAPI(){return 基础请求API;}
}目标类
/*** 目标类【对象适配器模式中目标类可以是抽象类和具体类】* author Liu Hanlin* create 2024-09-30 22:21*/
public abstract class ObjTarget {/*** 目标请求API* return*/abstract public String request();
}适配器类
/*** 适配器* author Liu Hanlin* create 2024-09-30 22:20*/
public class ObjAdapter extends ObjTarget{ObjAdaptee adaptee new ObjAdaptee();Overridepublic String request() {return adaptee.baseRequestAPI();}
}如上就是适配器模式的具体代码以及具体解释。