Java 重置数据成员是否算作重复代码?
我对编程和Java相当陌生。我目前正在用一个飞船对象构建一个游戏。它具有以下数据成员:Java 重置数据成员是否算作重复代码?,java,inheritance,datamember,Java,Inheritance,Datamember,我对编程和Java相当陌生。我目前正在用一个飞船对象构建一个游戏。它具有以下数据成员: int START_M_ENERGY = 21; int START_C_ENERGY = 1; int STARTING_HEALTH = 5; int maximalEnergyLevel = STARTING_MAX_ENERGY; int currentEnergyLevel = STARTING_CURRENT_ENERGY; 该代码还有一个“死亡”方法。当这些数据成员在游戏中发生变化时,此方法基
int START_M_ENERGY = 21;
int START_C_ENERGY = 1;
int STARTING_HEALTH = 5;
int maximalEnergyLevel = STARTING_MAX_ENERGY;
int currentEnergyLevel = STARTING_CURRENT_ENERGY;
该代码还有一个“死亡”方法。当这些数据成员在游戏中发生变化时,此方法基本上会将它们重置回其原始值。该方法基本上与上面的代码完全相同。
那么,这是否被视为“重复代码”?有办法避免吗?我们还不允许使用抽象类或其他东西,不确定它是否相关,但我已经看到主题弹出。重要的是要注意,SpaceShip类没有构造函数,因为我认为将它们初始化为成员是有意义的。死后调用构造函数有意义吗?我不希望这个物体在死后被替换,只想重新设置!
谢谢 < p>重置值是好的,除非在其他地方给这些成员分配相同的值,否则我不认为它是重复代码。如果你想在死后保留同一个对象,不要调用构造函数。< /P> < P>重置值是好的,除非你在其他地方给这些成员分配相同的值,否则我不会考虑重复代码。如果希望在对象死后保留相同的对象,请不要调用构造函数 我认为将这些初始化为成员是有意义的 这可能有道理,但还有更好的想法 仍然可以不带参数重写构造函数。然后你可以在里面调用死亡方法
public SpaceShip() {
death();
}
death() {
this.maximalEnergyLevel = STARTING_MAX_ENERGY; //or use setter
this.currentEnergyLevel = STARTING_CURRENT_ENERGY; //or use setter
}
我猜START_M_ENERGY和其他大写变量是常量,如果是真的-将它们标记为static final,如果不是-添加到death方法并使用camelCase。然后您可以考虑更改方法名以重置。< /P>
我认为将这些初始化为成员是有意义的
这可能有道理,但还有更好的想法
仍然可以不带参数重写构造函数。然后你可以在里面调用死亡方法
public SpaceShip() {
death();
}
death() {
this.maximalEnergyLevel = STARTING_MAX_ENERGY; //or use setter
this.currentEnergyLevel = STARTING_CURRENT_ENERGY; //or use setter
}
我猜START_M_ENERGY和其他大写变量是常量,如果是真的-将它们标记为static final,如果不是-添加到death方法并使用camelCase。然后您可以考虑更改方法名以重置。< /P>