2
有時您需要由多個值組成的值,但底層值也可以更改。行爲與類字段類似的方法
例
在用Java編寫的角色扮演遊戲有可能是代表玩家的類。他可以擁有「生活」和「耐力」的領域。最後一場可以增加玩家的生命。所以我們有「生命」和生命增加的屬性「耐力」,導致總體或完整的生活。
我會寫這樣的事情:
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這樣的函數引用的語言中,使用這樣的函數引用來返回組合值是否可以接受?
爲什麼不直接使用'public getLifeTotal(){return life + endurance; }'?這種額外的私人方法是沒有意義的。 – Tom
對於你的例子,這會很好。但是你不需要額外的私人方法。只需返回兩個字段的總和即可。 – mumpitz
因爲當你按照我展示的方式編寫它時,更明顯的是,這是一個玩家的價值,你也可以更快地看到玩家有這種價值,而不僅僅是像其他人一樣的方法。因爲通常你只使用getter作爲真實類字段的返回方法,而不是其他的東西或者沒有真正的類字段的值,我想。 –