可选方法,不会使扩展类型混乱

时间:2014-03-30 19:50:21

标签: java oop interface

这是一个最佳实践问题。

假设我有一个实现某些接口的抽象类Screen

现在问题是,接口添加了大量的方法,我确信并非所有的屏幕实现都会使用它们。

我想知道最常见,更清洁的方法是什么。

  1. 只需留下摘要

    在扩展类中添加混乱

    protected abstract void onFocus();
    
  2. 添加空体

    对于不熟悉扩展课程的人来说不太好,如果可以覆盖它们,他们可能会担心。

    protected void onFocus() {
        // no impl
    }
    
  3. 制作一些描述注释?

    我不确定这对他们来说是好用的。

    @NotImplemented
    protected void onFocus() {
        // no impl
    }
    
  4. 你认为最好的是什么?

1 个答案:

答案 0 :(得分:0)

只有选项二(添加空体)才能保持'可选'方法。我宁愿不强迫所有扩展器实现所有可选方法,这会使它们不是可选的,对吧?可能你可以编写基本的抽象类/类来提供一些默认行为,这将使你使用API​​更简单。 SpirngMVC正在使用此模式,允许您在控制器的不同生命周期内执行某些逻辑。