2
時には、1つ以上の値で構成された値が必要な場合もありますが、基礎となる値も変更できます。クラスフィールドのように動作するメソッド
例
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
あなたの例では、これは問題ありません。しかし、特別なプライベートメソッドは必要ありません。 2つのフィールドの合計を返します。 – mumpitz
私が示したように書くと、これはプレーヤーの価値であることがより目立つようになり、他のプレイヤーのような方法だけでなく、プレイヤーにもこのような価値があることをより速く見ることができます。通常、ゲッターは実際のクラスフィールドの戻りメソッドとしてのみ使用され、他のものや実際のクラスフィールドがない値に対しては使用されないため、私は思っています。 –