首页 > Adapter (适配器模式)

Adapter (适配器模式)

适配器模式:

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

 

有两种适配器模式:

1)类适配器 (通过继承的方式)

2)对象适配器 (采取对象组合的模式)

 

-------------------------- 类适配器 -----------------------------

Target.java

package com.adapter ; public interface Target { public void method() ; }



 

被适配器类

Adaptee.java

package com.adapter ; public class Adaptee { public void method2() { System.out.println("Adapter-->method2()") ; } }

 

适配器类

Adapter.java

package com.adapter ; public class Adapter extends Adaptee implements Target { public void method() { super.method2() ;//或者this.method2() ; } }



 

Client.java

package com.adapter ; public class Client { public static void main(String[] args) { Target t = new Adapter() ; t.method() ; } }



 

-------------------------- 对象适配器 -----------------------------

 

Target.java

package com.adapter ; public interface Target { public void method() ; }



 

被适配器类

Adaptee.java

package com.adapter ; public class Adaptee { public void method2() { System.out.println("Adapter-->method2()") ; } }

 

适配器类

Adapter.java

package com.adapter ; public class Adapter implements Target { private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee ; } public void method() { this.adaptee.method2() ; } }



 

Client.java

 

package com.adapter ; public class Client { public static void main(String[] args) { Adaptee adaptee = new Adaptee() ; Target t = new Adapter(adaptee) ; t.method() ; } }



 

 

 

 

 

 





 

更多相关:

  • 在.Net Framework中,配置文件一般采用的是XML格式的,.NET Framework提供了专门的ConfigurationManager来读取配置文件的内容,.net core中推荐使用json格式的配置文件,那么在.net core中该如何读取json文件呢?1、在Startup类中读取json配置文件1、使用Confi...

  •   1 public class FrameSubject extends JFrame {   2    3   …………..   4    5   //因为无法使用多重继承,这儿就只能使用对象组合的方式来引入一个   6    7   //java.util.Observerable对象了。   8    9   DateSub...

  • 本案例主要说明如何使用NSwag 工具使用桌面工具快速生成c# 客户端代码、快速的访问Web Api。 NSwagStudio 下载地址 比较强大、可以生成TypeScript、WebApi Controller、CSharp Client  1、运行WebApi项目  URL http://yourserver/swagger 然后...

  •   在绑定完Action的所有参数后,WebAPI并不会马上执行该方法,而要对参数进行验证,以保证输入的合法性.   ModelState 在ApiController中一个ModelState属性用来获取参数验证结果.   public abstract class ApiController : IHttpController,...

  • 1# 引用  C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.dll C:AVEVAMarineOH12.1.SP4Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.Applicati...

  • 2019独角兽企业重金招聘Python工程师标准>>> 在阎宏博士的《JAVA与模式》一书中开头是这样描述适配器(Adapter)模式的:   适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式的用途   用电器做例子,笔记本电脑的插头一般...