【发布时间】:2017-11-01 00:49:59
【问题描述】:
所以我正在为将由另一个类“计算器”调用的“技能”类编写代码。 Skill 类通过调用其方法来影响 Calculator 的当前实例。
public class Calculator {
int number = 0;
...
Skill sk = new Skill();
sk.hitSkill(true);
...
public void setNumber(int newValue) {
number += newValue;
}
}
同时,“技能”类看起来像这样:
public class Skill {
Calculator calc = new Calculator();
public void hitSkill (boolean someConditions) {
if (someConditions) {
calc.setHitNumber(20);
}
}
以上对我没有好处,因为“calc”是一个实例,而不是我想要受到影响的 calc 实例。
我有 Skill 将使用的 Calculator 的 getter 和 setter - 但它需要一个 Calc 实例才能工作。准确地说,它需要调用它的 Calculator 实例,而不仅仅是任何 Calculator 实例。
我为什么不直接将 Calculator 方法设为静态?因为它们会影响我需要能够更改的变量,这些变量不是静态的。
有人有什么建议吗?
【问题讨论】:
-
你还需要两节课吗?
-
理想情况下。为了这个问题,我给出的一个相当复杂的应用程序是一个简化版本。即便如此,我也可以把它全部放在一个类中,但这可能是我宁愿避免的非常臃肿的设计。
标签: java methods command instance