这是一个最佳实践问题。
假设我有一个实现某些接口的抽象类Screen
。
现在问题是,接口添加了大量的方法,我确信并非所有的屏幕实现都会使用它们。
我想知道最常见,更清洁的方法是什么。
只需留下摘要
在扩展类中添加混乱
protected abstract void onFocus();
添加空体
对于不熟悉扩展课程的人来说不太好,如果可以覆盖它们,他们可能会担心。
protected void onFocus() {
// no impl
}
制作一些描述注释?
我不确定这对他们来说是好用的。
@NotImplemented
protected void onFocus() {
// no impl
}
你认为最好的是什么?
答案 0 :(得分:0)
只有选项二(添加空体)才能保持'可选'方法。我宁愿不强迫所有扩展器实现所有可选方法,这会使它们不是可选的,对吧?可能你可以编写基本的抽象类/类来提供一些默认行为,这将使你使用API更简单。 SpirngMVC正在使用此模式,允许您在控制器的不同生命周期内执行某些逻辑。