使用模版模式如何不实现不需要的抽象方法

下面是一段模版模式的代码
public abstract class AbstractClass {
public final void templateMethod1() {
//...
method1();
//...
method2();
//...
}
public final void templateMethod2() {
//...
method3();
//...
method4();
//...
}
protected abstract void method1();
protected abstract void method2();
protected abstract void method3();
protected abstract void method4();
}
现在我们需要写一个实现类 ImplClass 但是我们只需要AbstractClass中的templateMethod1方法。
现在问题来了,我只需要templateMethod1 而不需要 templateMethod2方法,如果我直接继承AbstractClass需要将所有的抽象方法都实现。
解决:
通过实现一个 Adaptor类来进行过度。使用一个ImplAdaptor 类来将所有的抽象方法进行空实现,然后使用ImplClass 来继承 ImplAdaptor 然后重写需要的方法即可。
以上是 使用模版模式如何不实现不需要的抽象方法 的全部内容, 来源链接: utcz.com/z/517852.html

