1、简介

   缺省适配模式为一个接口提供缺省实现,这样的类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展。当原接口中定义的方法太多,而其中大部分又不被需要时,这种模式非常实用。

由缺省适配器类直接实现目标接口,并为所有方法提供缺省的空实现。用户类就只需要继承适配器类,只实现需要的方法就行了。

2、源代码

  2.1、目标接口

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: InterfaceA 
* @Description: 目标接口
*  
**********************************************************
 */
public interface InterfaceA {
    void fun1();
    void fun2();
    void fun3();
    void fun4();
    void fun5();
}

  2.2、缺省适配器抽象类

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: AbstractB 
* @Description: 缺省适配器抽象类
*  
**********************************************************
 */
public abstract class AbstractB implements InterfaceA {

    @Override
    public void fun1() {}

    @Override
    public void fun2() {}

    @Override
    public void fun3() {}

    @Override
    public void fun4() {}

    @Override
    public void fun5() {}

}

  2.3、用户类(只需要实现自己需要的方法)

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: ClassBImpl 
* @Description: 用户类 可以实现自己需要的方法
*  
**********************************************************
 */
public class ClassBImpl extends AbstractB{
    
    @Override
    public void fun1(){
        System.out.println("fun1");
    }
}

  2.4、测试类

package DefaultAdapter;
/**
 * ********************************************************  
* @ClassName: DefaultAdapter 
* @Description: 缺省适配器模式测试类
*  
**********************************************************
 */
public class DefaultAdapterTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ClassBImpl c = new ClassBImpl();
        c.fun1();
    }

}

  2.5、运行

posted on 2017-09-07 12:09  顺蝈蝈  阅读(1090)  评论(0编辑  收藏  举报