当我需要在类中的某些方法中使用公共数据时,我常常会努力决定要使用这两种方法中的哪一种。有什么更好的选择?
在此选项中,我可以创建一个实例变量,以避免必须声明其他变量,并且避免定义方法参数,但是可能不清楚在哪里实例化/修改这些变量:
public class MyClass {
private int var1;
MyClass(){
doSomething();
doSomethingElse();
doMoreStuff();
}
private void doSomething(){
var1 = 2;
}
private void doSomethingElse(){
int var2 = var1 + 1;
}
private void doMoreStuff(){
int var3 = var1 - 1;
}
}
还是只是实例化局部变量并将其作为参数传递?
public class MyClass {
MyClass(){
int var1 = doSomething();
doSomethingElse(var1);
doMoreStuff(var1);
}
private int doSomething(){
int var = 2;
return var;
}
private void doSomethingElse(int var){
int var2 = var + 1;
}
private void doMoreStuff(int var){
int var3 = var - 1;
}
}
如果答案是它们都是正确的,那么哪个更常被看到/使用?另外,如果您可以为每个选项提供其他优点/缺点,那将非常有价值。