【发布时间】:2011-05-11 09:03:49
【问题描述】:
我必须创建许多非常相似的类,它们之间只有一种方法不同。所以我认为创建抽象类将是实现这一目标的好方法。但是我想要覆盖的方法(比如方法 foo())没有默认行为。我不想保留任何默认实现,强制所有扩展类实现此方法。我该怎么做?
【问题讨论】:
-
听起来像是模板方法模式en.wikipedia.org/wiki/Template_method_pattern的实现@
-
对于您希望所有子类调用其父类的情况,这是一个很好的问题。到目前为止的答案似乎没有考虑到这种情况。示例:确保需要在每个类中重写方法并调用父类:
@override protected void importantMethod(){ super.importantMethod(); ... } -
我正在寻找@will 发布并找到stackoverflow.com/questions/30046748/…的评论的答案@
标签: java