【发布时间】:2013-11-26 01:19:59
【问题描述】:
假设我有一些扩展超类的子类。这些子类的不同之处在于传递给超类的参数。不幸的是,就像下面的例子一样,我可以得到“许多”参数。有没有避免这种情况的一般方法?具有“许多”参数的构造函数是否被认为是好的做法?使用 getter/setter 方法而不是通过构造函数传递每个参数会更好吗?
public abstract class SuperClass {
private int a;
private int b;
.
.
private int z;
public SuperClass(int a, int b, ... int z) {
this.a = a;
this.b = b;
.
.
this.z = z;
}
}
public class SubClass1 extends SuperClass {
public SubClass1() {
super(4, 3, ..., 9);
}
}
public class SubClass2 extends SuperClass {
public SubClass2() {
super(1, 7, ..., 2);
}
}
【问题讨论】:
-
您可以尝试使用数组
int[]。 -
在不了解应用程序的具体架构的情况下,很难说。一般来说,我避免在构造函数中添加额外的鹦鹉,而不是让函数运行绝对需要。
-
Christian,对不起,我以 int 为例。我的意思是类型可能不同的参数。
标签: java