【发布时间】:2019-04-29 17:53:56
【问题描述】:
我正在为一个新包编写 Javadoc,我正面临标题中提到的困境。
我将基类方法定义为,
class Vector<E> {
..
public abstract Vector<E> add(Vector<E> v);
..
}
重写方法定义为,
class IntVector extends Vector<Integer> {
..
@Override
public IntVector add(Vector<Integer> v) {
..
}
覆盖方法不会改变除了返回类型之外的行为。我知道冗余文档对于被覆盖的方法是不可取的。但是在这种情况下,覆盖方法拥有自己的文档是有意义的,至少对于返回类型是这样。这种情况的最佳做法是什么?只是复制规范还是有避免重复的好方法?
【问题讨论】:
-
你有什么要说的吗? “返回一个 IntVector”?除了返回类型的声明之外,这真的值得一提吗?
-
我希望用户知道 IntVector.add(v) 的返回类型是 IntVector,以便他们可以使用 IntVector 作为返回值。
-
如果用户使用的是
IntVector,那么他们的IDE会告诉他们返回类型是IntVector。
标签: java javadoc code-documentation