[英]Java: Need some advice on code reuse
我有这个大班,是我做家庭作业项目的一部分。
该类包含数据成员以及一些方法,现在我需要创建另一个(几乎) 相同的类。
它几乎是相同的,因为唯一的区别是代码中此处出现的常数。
例如,如果原始类具有:
for (int i=0; i<8; i++) {
for (int j=0; j<8; j++) {
labels[i][j]=new Label(panel, SWT.SHADOW_OUT);
labels[i][j].setImage(empty);
}
}
新课程应具有:
for (int i=0; i<10; i++) {
for (int j=0; j<10; j++) {
labels[i][j]=new Label(panel, SWT.SHADOW_OUT);
labels[i][j].setImage(empty);
}
}
并且如果原始类具有:
labels=new Label[8][8];
新课程应具有:
labels=new Label[10][10];
意味着唯一的区别是代码中的10次而不是8次。
我可以用什么方式在这里重用代码?
有人知道吗?
只需使用类属性:
public class MyClass {
private final int labelsSize;
private final Label[][] labels;
public MyClass(final int labelsSize) {
this.labelsSize = labelsSize;
this.labels = new Label[labelsSize][labelsSize];
}
// ...
for (int i=0; i<labelsSize; i++) {
for (int j=0; j<labelsSize; j++) {
labels[i][j]=new Label(panel, SWT.SHADOW_OUT);
labels[i][j].setImage(empty);
}
}
}
您可以传入该数字(8或10)作为此方法的参数或构造函数的参数。 然后将其设置为实例变量并在此代码中对其进行访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.