码迷,mamicode.com
首页 > 其他好文 > 详细

适配器模式(Adapter)

时间:2015-03-04 22:36:05      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

原理:将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。
 
角色:目标抽象类(Target): 客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
         适配者类(Adaptee): 需要适配的类或适配者类。
         适配器类(Adapter): 通过包装一个需要适配的对象,把原接口转换成目标接口。
 
实现方式:
类适配器模式:适配器类实现目标抽象类接口,并继承了适配者的类,在适配器类的request()方法中调用所继承的适配者类中对应的方法。适配者与适配器是继承关系。
 
对象适配器模式:适配器类继承了目标抽象类,并包装了适配者的实例,适配者与适配器是关联关系。
 
 
 
 
public interface Target {
     public void request();
}
public class Adaptee {
     public void specialRequest(){
     System.out.println("this is special request");
     }
}
 
//类适配器
public class ClassAdapter extends Adaptee implements Target{
     @Override
     public void request() {
          specialRequest();
     }
}
//对象适配器
public class ObjectApdater implements Target{
     Adaptee adaptee = new Adaptee();
     @Override
     public void request() {
          adaptee.specialRequest();
     }
}
 
 
缺省适配器模式:(单接口适配器模式)当不需要实现一个接口所提供的所有方法时,可先设计一个抽象类实现该接口,并为接口中的每个方法提供一个默认实现(空方法),那么抽象类的子类可以有选择性的覆盖父类的某些方法来实现需求。它适用于不想使用一个接口中的所有方法的情况。
 
双向适配器:适配器中同时包含对目标类和适配器类的引用,适配者通过它调用目标类中的方法,目标类也可以通过它调用适配器类中的方法。

适配器模式(Adapter)

标签:

原文地址:http://www.cnblogs.com/elain/p/4314397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!