在模板方法模式中,我们有一个定义为抽象的超类。我们有扩展这个类的具体类。
假设我们在模板方法中添加了一个新函数,并在一些子类中覆盖了它(仅在某些类中使用)。我们在其他类中将这个新方法覆盖为空(函数没有主体)。
此操作是否算作代码重复?
例如,在模板方法中,我们有一个新函数 doA()(我坚持使用 doA() 作为钩子方法)。我只想在 Class1 和 doZ() 和 doY() 之间使用这个函数。
如果我将此函数添加到模板方法并在 Class2 中覆盖此函数为空。这算作代码重复吗?
public void template(){
doX();
doY();
doZ();
}
public void template(){
doX();
doY();
doA();
doZ();
}