設計模式(九)---缺省適配器模式
阿新 • • 發佈:2017-09-07
inter 這樣的 script 定義 類型 trac esc def log
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、運行
設計模式(九)---缺省適配器模式