gpt4 book ai didi

java - Setter 方法,多个不带参数还是单个带值?

转载 作者:行者123 更新时间:2023-12-01 18:16:07 24 4
gpt4 key购买 nike

我正在和一个 friend 一起开发一个基于 Java 的游戏,我注意到他在可维护性方面采取了一种让我担心的方法。

对于表示可玩角色的类,他不是只创建 1 个设置对象属性的方法,而是创建单独的方法将属性设置为特定值。

这两个选项中哪一个是 future 最好的选择?

  • 选项 1

    public void runFast() {
    this.character.speed = 5.0f
    }

    public void walk() {
    this.character.speed = 2.0f
    }

    public void stop() {
    this.character.speed = 0.0f;
    }
  • 选项 2

    public void setSpeed(float speedTemp) {
    this.character.speed = speedTemp;
    }

最佳答案

为什么不使用枚举来设置速度 - 那么你仍然可以拥有

void setSpeed(Speed speed) {
this.character.speed = speed.getAmount();
}

与:

enum Speed {
FAST(5.0f), WALK(2.0f), STOP(0.0f);

private final float amount;
private Speed(flaot a) { this.amount = a; }
public float getAmount() {
return amount;
}
}

这样,您可以快速更新值,但仍具有预定义的金额。其灵活且易于维护。您可能想保存枚举而不是 float 。

关于java - Setter 方法,多个不带参数还是单个带值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29401415/

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