那个标题有点棘手......当我编写一个界面时,通常最好的做法是尽可能返回最具体的界面,还是最少?
例如,假设
interface List2<T> extends List<T>
{
List<T> getRange(int startIndex, int endIndex);
}
改成这样会不会更好
interface List2<T> extends List<T>
{
List2<T> getRange(int startIndex, int endIndex);
}
以便调用者可以调用getRange
他们的结果,同时仍然以多态方式匹配 List?