类适配器
被适配类
@Data@AllArgsConstructorclass Adaptee {private int code;private Boolean success;private String message;}
目标接口
interface Target{void request(int date);}
适配类
class Adapter extends Adaptee implements Target{private int date;public Adapter(int code, Boolean success, String message) {super(code, success, message);}@Overridepublic void request(int date) {this.date = date;System.out.println(super.getCode());System.out.println(this.getCode());}}
测试
public static void main(String[] args) {Target t2 = new Adapter(200,false,"e");t2.request(2021);}//200//200
对象适配器
对象适配器与类适配器不同之处在于,类适配器通过继承来完成适配,对象适配器则是通过关联来完成,这里稍微修改一下 Adapter 类即可将转变为对象适配器
public class Adapter implements Target{// 适配者是对象适配器的一个属性private Adaptee adaptee = new Adaptee();@Overridepublic void request() {//...adaptee.adapteeRequest();//...}}
