Java 创建要处理的子类;“基本情况”;
有时我会看到程序员扩展某个类来处理“基本情况”的代码。例如,如果我创建了一个Java 创建要处理的子类;“基本情况”;,java,class,Java,Class,有时我会看到程序员扩展某个类来处理“基本情况”的代码。例如,如果我创建了一个Tuple类来表示整数的一个Tuple,我会有如下内容 class Tuple { private int[] values; ... } 但是有些人会扩展Tuple,以适应一些基本情况,例如长度为0、1或2的Tuple: class Tuple0 extends Tuple { ... } class Tuple1 extends Tuple { private int value
Tuple
类来表示整数的一个Tuple,我会有如下内容
class Tuple {
private int[] values;
...
}
但是有些人会扩展Tuple
,以适应一些基本情况,例如长度为0、1或2的Tuple:
class Tuple0 extends Tuple {
...
}
class Tuple1 extends Tuple {
private int value1;
...
}
class Tuple2 extends Tuple {
private int value1;
private int value2;
...
}
当然,每个
TupleN
类的方法(由..
表示)将比通用Tuple
类的方法简单得多。所以,我的问题是:这种做法有什么好处吗?若有,何时及为何;;如果不是,为什么不呢?这种方法的最大缺点是,它会导致代码大小增加和可维护性降低。一个潜在的优势可能是提高了性能,但您确实需要对其进行分析以确保
就个人而言,我不会这么做。同意。然而,仅仅因为它经常出现,我可能会尝试为一个两元组创建一个Pair类,其中一个构造函数包含两个参数。我不会重写任何方法,但我可能会添加一个getLeft()和getRight()方法,或者您希望为这两个值调用访问器的任何方法。