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、运行
时间: 2024-10-15 20:29:36