从我所了解的来看,Template方法只不过是调用子类中定义的虚拟或抽象方法的普通方法。我是对的吗,还是对于这种我怀念的模式还有其他重要的东西?了解模板方法模式
abstract class Foo {
public void IamTemplateMethod() { // which will be called in child class object
method1(); // because this...
method2(); // ...or this method was called in me
}
public virtual void method1() { ... } // to be overriden in child class
public abstract void method2() { ... } // to be defined in child class
}
如果我是正确的,在那里实现模板方法,任何其他常见的方式?
啊 - 我终于明白,为什么使用'final'关键字,谢谢! :-) –
酷:)。你也可以在类中使用它(不允许任何人重写它们)和变量(在这种情况下,它们的值一旦被初始化就不允许改变,它们将是不可变的) – jbx