为了账号安全,请及时绑定邮箱和手机立即绑定

在java中向类变量添加值的优雅方法

在java中向类变量添加值的优雅方法

慕姐8265434 2022-08-03 12:45:58
我有一个班级说Studentpublic class Student {    private String name;    private int score;}假设我都有 getter/setter。目前,我有一个学生班级的对象说,它的分数值为50。我想在此对象中的分数中添加10。std我可以通过下面的代码做到这一点:std.setScore(std.getScore() + 10);我正在寻找一种优雅的方法来写出相同的方式,其中我不同时使用getter和setter,只需将分数增加10甚至1。使用++或类似+=10之类的东西说。
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

编写一个方法:


public void incrementScore(int amount) {

  score += amount;

}

是否允许负增量?如果没有,请检查它:


/**

 * Increments the score by the given amount.

 *

 * @param amount the amount to increment the score by; must not be negative

 * @throws IllegalArgumentException if the amount is negative

 */

public void incrementScore(int amount) {

  if (amount < 0) {

    throw new IllegalArgumentException("The increment must not be negative.");

  }

  score += amount;

}

这种方法比使用 /更优雅,因为:getset

  • 它允许您检查参数,再考虑业务规则,

  • 它添加了一个业务方法,其名称可以揭示意图。

  • 它允许您编写描述操作确切行为的JavaDoc注释


查看完整回答
反对 回复 2022-08-03
?
浮云间

TA贡献1829条经验 获得超4个赞

正如评论中所说,您可以在学生班级上创建新方法。


public class Student {

   private String name;

   private int score;


   public void incrementScore(int increment){

       this.score = this.score + increment;

   }

}

然后在 std 实例上调用它:


std.incrementScore(10)


查看完整回答
反对 回复 2022-08-03
  • 2 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信