[英]How to call pass parameter that indicates what method should be called on instance
[英]Should I use Instance variable or pass as a parameter to method
什么是正确的方法或最好的方法?
1-直接在方法内部编写实例变量
或者
2-从调用的地方传递变量
int number1;
int number2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
number1 = 10;
number2 = 20;
// call first approach
sum();
// call second approach
sum(number1,number2);
}
// First approach
private int sum(){
return number1+number2;
}
// Second approach
private int sum(int number1,int number2){
return number1+number2;
}
}
没有绝对正确的方法,这取决于您的用例。 话虽如此,第二种方式更清洁和可重用。
第一种方法 - sum 方法非常具体且本地化。 它只能做一件事,将number1
和number2
变量相加。
第二种方法 - sum 方法非常通用并且具有绝对的 0 副作用。 我们还可以将它移动到一个 util 文件中,并在整个模块或项目中重复使用它。
这没有正确或错误,这完全取决于您的用例,如果您仅在 sum() 方法中使用 number1 number2,那么您应该采用第二种方法,但是如果您正在更改 number1 和 number2 的值并且您希望更改值在另一种方法然后你应该去第一种方法。
我强烈推荐call second approach
,因为不仅使它看起来更干净而且没有使用外部依赖值,因此只依赖于传递给函数sum
的变量。
sum(number1,number2);
因此,最终当 sum 中的操作变得复杂以至于您需要将它们移动到另一个类(如 Utilities)时,使用第二种方法来实现代码的可重用性和灵活性会更有意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.