如何做新增网站备案,网站主页调用,北京网页设计公司,建立网站需要技术吗适配器模式: 继承原对象,持有目标对象; 文章目录 适配器模式: 继承原对象,持有目标对象;前言一、适配器模式的作用二、如何适配器模式直接上代码 总结 前言
适配器模式一般使用场景是: 将一个类(接口)转换成客户希望的另外一个类(接口)。其中适配器充当一个假的原类的作用; 一…适配器模式: 继承原对象,持有目标对象; 文章目录 适配器模式: 继承原对象,持有目标对象;前言一、适配器模式的作用二、如何适配器模式直接上代码 总结 前言
适配器模式一般使用场景是: 将一个类(接口)转换成客户希望的另外一个类(接口)。其中适配器充当一个假的原类的作用; 一、适配器模式的作用 主要解决在软件系统中常常要将一些现存的对象放到新的环境中而新环境要求是现有接口无法满足的; 二、如何适配器模式
例如我现在只能获取到一个类是Target,但是我想用另一个类 NewTarget 中的sout方法,这里我们就需要做一个适配 适配之后,当前依赖的是适配的类, 并不是 NewTarget ,做到了解耦 直接上代码
我目前持有的对象Target
public class Target {public void required() {System.out.println(正常的方法访问!);}
}我要调用的目标对象NewTarget
public class NewTarget {public void sout() {System.out.println(难搞客户的特殊方法请求!);}
}
适配器
/*** 适配器: 继承原有对象,持有目标对象*/
public class Adapter extends Target {NewTarget newTarget new NewTarget();Overridepublic void required() {newTarget.sout();}
}测试类中测试
public class Client {// 目标对象是NewTargetpublic static void main(String[] args) {// 我能拿到的Target target new Adapter();target.required();}
}执行结果:
总结
表面上,我依然调用的Target方法但是Adapter继承了Target,并重写了它的方法表面上调用Target实际上调用的是Adapter,而Adapter实际上调用的是目标NewTarget中的sout方法