最近我不得不在一个类上工作,有类似于这个的方法
public boolean checkSomeThing() { return true; }
此函数在执行复杂实例化的另一个私有函数的主体内使用。起初我以为它可能是一个复活节彩蛋,但后来我读了方法checkSomething()上的javadoc说:
"覆盖此功能以更改blabla"。
读完之后,我意识到实际发生了什么。它是一种非常优雅和整洁的方式,可以访问一段代码中的变量,否则无法访问。
所以我的问题是这个技巧,模式或其他任何名称的名称是什么?使用时是否是一件好事,当我说要建造的课程是为了扩展时?
答案 0 :(得分:5)
我会说你的意思是“模板方法模式” http://en.wikipedia.org/wiki/Template_method_pattern
也许有一个建议: 如果每个子类都必须覆盖该方法,那么它应该是抽象的。