方法表现得像 Class 字段
Methods behaving like Class Fields
有时您需要由不止一个值组成的值,但基础值也可以改变。
例子
在用 Java 编写的角色扮演游戏中,可能会有一个 class 代表玩家。他可以拥有字段 "life" 和 "endurance"。最后一个字段可以增加玩家的生命。所以我们有 "life" 和增加生命的属性 "endurance" 导致总生命或完整生命。
我会写这样的东西:
public class Player
{
private int life;
private int endurance;
private int life_total()
{
return life + endurance;
}
public Player()
{
life = 10;
endurance = 2;
}
public int get_life_total()
{
return life_total()
}
}
我会编写一个方法,它看起来像一个带括号的字段,但行为也像一个字段。这是可以接受的解决方案还是针对此类情况有更好的解决方案?
在具有像 javascript 这样的函数引用的语言中,是否可以接受使用此类函数引用来返回组合值?
您的 getter 方法应该更像这样。没有理由让您的 getter 方法调用另一个方法来获取您的变量。
public int get_life_total(){
return life + endurance;
}
有时您需要由不止一个值组成的值,但基础值也可以改变。
例子
在用 Java 编写的角色扮演游戏中,可能会有一个 class 代表玩家。他可以拥有字段 "life" 和 "endurance"。最后一个字段可以增加玩家的生命。所以我们有 "life" 和增加生命的属性 "endurance" 导致总生命或完整生命。
我会写这样的东西:
public class Player
{
private int life;
private int endurance;
private int life_total()
{
return life + endurance;
}
public Player()
{
life = 10;
endurance = 2;
}
public int get_life_total()
{
return life_total()
}
}
我会编写一个方法,它看起来像一个带括号的字段,但行为也像一个字段。这是可以接受的解决方案还是针对此类情况有更好的解决方案?
在具有像 javascript 这样的函数引用的语言中,是否可以接受使用此类函数引用来返回组合值?
您的 getter 方法应该更像这样。没有理由让您的 getter 方法调用另一个方法来获取您的变量。
public int get_life_total(){
return life + endurance;
}