Java经典设计模式之适配器模式原理与用法详解

网友投稿 247 2023-04-23


Java经典设计模式之适配器模式原理与用法详解

本文实例讲述了java经典设计模式之适配器模式。分享给大家供大家参考,具体如下:

适配器模式是把一个类的接口适配成用户所期待的,使得原本由于接口不兼容而不能一起工作的一些类可以在一起工作从而实现用户所期望的功能。

适配器模式的优势:

1. 通过适配器,客户端可以调用统一接口,操作简单直接,并且代码逻辑紧凑,使用起来方便。

2. 代码复用,适配器模式就是解决因为环境要求不相同 的问题,通过适配实现代码复用。

3. 将目标http://类和适配器类解耦,通过新建一个适配器类来重用现在的类,不用再去重复修改原有代码,实现开闭原则。

共有两类适配器模式

1.对象适配器模式: 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。

2. 类适配器模式: 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。

示例代码:

/**

* @description:

* 原有的接口功能,比如是给电动车充电功能

*/

public interface FirstBaseIf {

void charging();//充电

}

/**

* 要实现的操作功能

* @description:

*/

public class NewFunction {

public void powerWithTwo(){

System.out.println(“新功能:给电动汽车也可以充电啦”);

}

}

/**

*新建适配器类,来实现对原有接口FirstBaseIf的操作使用

* @description:

*/

public class FunctionAdapter implements FirstBaseIf {

private NewFunction plug;

public FunctionAdapter(NewFunction plug){

this.plug=plug;

}

@Override

public void charging() {//重写原有接口中的方法,从而实现接口转化

System.out.println(“通过适配器转化”);

plug.powerWithTwo();

}

}

//——–测试代码——————-

public class Test {

private FirstBaseIf plug;

public Test(FirstBaseIf plug) {

this.plug = plug;

}

public static void main(String[] args) {

NewFunyaPXGJgcfction two = new NewFunction();

FirstBaseIf three = new FunctionAdapter(two);//这里就是通过适配器实现转换

Test note = new Test(three);

note.charge();

}

public void charge() {

plug.charging();//使用原有接口中的功能

}

}

运行结果:

适用场景:

在Java程序中,如果一个抽象类或者接口的话,就必须要重写所有的抽象方法。

那么,如果一个接口中定义的抽象方法过多,而子类中很多抽象方法又不需要用到,就应该设计一个适配器。通过Java语言进行的android开发中,就经常会用到适配器模式。

更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:物理接口设计(物理接口是什么意思)
下一篇:java多线程实现接口(java多线程可以采用什么接口方式实现)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~