如何简单地增加私有变量?
如何简单地增加私有变量?
我在想是否有更简单的方法来增加另一个类的私有变量。这是我通常的做法:\n如果我只需要在我的代码中偶尔这样做:\n
pc.setActionsCurrent(pc.getActionsCurrent()-1);
\n如果我需要频繁增加,我会创建一个特殊的setter:\n
//在PC类中 public void spendAction(){ this.actionsCurrent--; } //在增加的类中 pc.spendAction();
\n有更好的方法吗?如果变量是公共的\n
pc.actionsCurrent--;
\n就足够了,但我感觉我可能过于复杂化了。
问题的出现原因:原始的代码中,私有变量的自增操作并不方便。在这种情况下,提问者希望能够找到一种简单的方法来实现私有变量的自增操作。
解决方法:通过方法封装的方式来实现私有变量的自增操作,并且可以通过传入自增值来灵活控制自增操作。以下是一种实现方式:
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); }
上述代码中,通过将自增值作为成员变量,使得自增值可以根据需求进行变化,实现了封装的概念。
其他回答中也提到了一些解决方法,比如雇佣程序员来解决问题,或者使用更简单的方式来实现自增操作。然而,这些方法并不是问题的最佳解决方案。
其中还有一位回答者认为,将自增值作为成员变量并没有太大的意义,更简单的方式是将自增值作为参数传入。这种方式可以更简洁地实现自增操作,并且避免了潜在的时间窗口问题。
通过方法封装和参数传递的方式,可以较为简单地实现私有变量的自增操作。