gpt4 book ai didi

java - 将方法参数作为要更改的对象状态传递的能力

转载 作者:行者123 更新时间:2023-12-01 14:36:43 24 4
gpt4 key购买 nike

实际上我有两个关于如何正确执行此操作的问题。我对 Java 编程相当陌生,这使得我想要做的事情很难通过自己完成并且不问任何问题。

我的第一个问题是,我在这里使用“this”一词是否正确?我有一个带有一堆不同元素的构造函数,其中两个元素是“attack”和“attackLvl”。这个方法能正确更新元素吗?

public void updateAttack(int xp){
this.attack = xp;
this.attackLvl = levelFromXP(this.attack);
updateOverall();
}

第二,更多的是关于如何实现某个结果的广泛问题。我可以创建 20 多种不同的方法,如上面的方法,但我宁愿将参数传递给语句,如下面的示例,但我不知道该怎么做:

public void updateAttack(int xp, String skill){
this.(skill) = xp;
this.(skill + "Lvl") = levelFromXP(this.skill);
updateOverall();
}

最佳答案

如果您想要多种技能,请按名称:

protected Map<String,Integer> skillLevelMap = new TreeMap();

public int getSkillLevel (String skill) {
Integer level = skillLevelMap.get( skill);
return (level != null) ? level : 0;
}
public void setSkillLevel (String skill, int level) {
skillLevelMap.put( skill, level);
}

这避免了为不同类型的 Skill 编写 5-20 个不同的 getter/setter。

关于java - 将方法参数作为要更改的对象状态传递的能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com