3

我时不时地看到程序员扩展了某个类来处理“基本案例”的代码。例如,如果我正在创建一个Tuple类来表示整数元组,我会有类似的东西

class Tuple {
    private int[] values;

    ...
}

但是有些人会扩展Tuple以适应一些基本情况,例如长度为 0、1 或 2 的元组:

class Tuple0 extends Tuple {
    ...
}

class Tuple1 extends Tuple {
    private int value1;

    ...
}

class Tuple2 extends Tuple {
    private int value1;
    private int value2;

    ...
}

当然,...每个TupleN类的方法(用 表示)会比泛型Tuple类的方法简单得多。所以,我的问题是:这种练习有什么好处吗?如果是,时间和原因;如果不是,为什么不呢?

4

1 回答 1

4

这种方法的最大缺点是它会导致代码大小增加和代码可维护性降低。一个潜在的优势可能是提高性能,但您确实需要进行分析以确保。

就个人而言,我不会这样做。

于 2013-06-16T19:11:21.870 回答