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

编程

下面是一段模版模式的代码

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

回到顶部