增加私有变量的简便方法?

时间:2015-08-11 03:48:15

标签: java

我想知道是否有更简单的方法来增加另一个类的私有变量。以下是我通常会采用的方式:

如果我只需要在我的代码中很少这样做:

pc.setActionsCurrent(pc.getActionsCurrent()-1);

如果我需要做很多增量,我会做一个特殊的setter:

//In the PC class
public void spendAction(){
    this.actionsCurrent--;
}

//In the incrementing Class
pc.spendAction();

还有更好的方法吗?如果变量是公开的

pc.actionsCurrent--;

就足够了,我不禁觉得自己过于复杂了。

2 个答案:

答案 0 :(得分:2)

没有。方法抽象通常是实现它的方法,您也可以传递增量值(并且您可以在实现中利用它)。考虑像

这样的东西
private long increment = 1;
private long myVariable = 0;
public void setMyVariable(long myVariable) {
    this.myVariable = myVariable;
}
public void setIncrement(long increment) {
    this.increment = increment;
}
public long getMyVariable() {
    return this.myVariable;
}
public void addToMyVariable(long val) {
   this.myVariable += val;
}
public void incrementMyVariable() {
   addToMyVariable(increment);
}

以上将允许增量值变化(通常称为encapsulation)。

答案 1 :(得分:1)

只需定义增量方法即可。一般来说,您可以将增量作为参数提供,它可能是负数:

public void increment(int augend)
{
    this.actionsCurrent += augend;
}