可以说我正在实现一个将两个数字相加的计算器。
由于到目前为止我们要跟踪部分结果,因此需要维护两个成员变量,oldNum用于部分结果,newNum用于当前输入的数字。
现在在某个时候将有一个add方法,它将newNum添加到oldNum并将结果存储在oldNum中。
由于newNum和oldNum都是成员字段,因此我们不需要在add方法中传递或返回任何内容。
另一方面,如果您阅读源代码,并且遇到没有任何参数的void方法添加,则这可能看起来很奇怪。
所以我的问题是,有时候是否需要将成员字段传递给成员函数。
它看起来像:
class Calc {
int oldNum, newNum;
public void add1() {
oldNum = oldNum + newNum;
}
public int add2(int n1, int n2) {
return n1 + n2;
}
最佳答案
在这里返回void并没有什么奇怪的,您正在更改对象的内部状态。如果要提供输出,则可以返回this
,void或加法结果的副本。
您编写的add2(...)方法不使用任何成员变量,这些成员变量应作为静态方法实现,不需要实例化该对象。但是,我认为您不需要在这里。