java适配器模式

网友投稿 241 2022-09-05

java适配器模式

定义:将一个类的接口转换成用户期望的另一个接口

使原本接口不兼容的类可以一起工作

结构型

应用场景:

已经存在的类,他的方法和需求不匹配时(方法结果相同或相似)

功能类似而接口不相同的情况下的解决方案

优点:

能提高类的透明性和复用,现有的类复用但不需要改变

目标类和适配器 类解耦,提高程序扩展性

符合开闭原则

类:

public class Adapteee { public void adapteeRequest(){ System.out.println("被适配着的方法"); }}

public interface Target { void request();}

public class ConcreteTarget implements Target { public void request() { System.out.println("目标方法"); }}

public class Adapter extends Adapteee implements Target{ public void request() { super.adapteeRequest(); }}

public class Test { public static void main(String[] args) { Target target=new ConcreteTarget(); target.request(); Target adapterTarget=new Adapter(); adapterTarget.request(); }}

对象:

public class Adapteee { public void adapteeRequest(){ System.out.println("被适配着的方法"); }}public class ConcreteTarget implements Target { public void request() { System.out.println("目标方法"); }}public class Adapter implements Target{ private Adapteee adapteee=new Adapteee(); public void request() { adapteee.adapteeRequest(); }}

public class Test { public static void main(String[] args) { Target target=new ConcreteTarget(); target.request(); Target adapterTarget=new Adapter(); adapterTarget.request(); }}

实际应用:

public class AC220 { public int outputAC220v(){ int output=220; System.out.println("输出交流电"+output+"V"); return output; }}public interface DC5 { int outputDC5V();}public class PowerAdapter implements DC5{ private AC220 ac220=new AC220(); public int outputDC5V() { int adapterInput=ac220.outputAC220v(); int adapterOutput=adapterInput/44; System.out.println("使用PowerAdapter输入AC:"+adapterInput+"V"+"输出DC:"+adapterOutput+"V"); return adapterOutput; }}public class Test { public static void main(String[] args) { DC5 dc5=new PowerAdapter(); dc5.outputDC5V(); }}

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

上一篇:Java死锁
下一篇:奥运早报-跳水国乒两大梦之队再冲金 苏炳添率中国队出战接力预赛!
相关文章

 发表评论

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