0

この場所が適切な場所でない場合は、質問を閉じる前に、疑問を議論/解決できる場所を教えてください。

それは私が少しの間私の心に持っていた小さなことです. Java、そしておそらく他のOOP言語では、何が良いでしょうか...

class Entity {
  [final] int xPos;
  [final] int yPos;

  // ...
}

というより...

class Entity {
  Position p;

  // ...
}

class Position {
  [final] int x;
  [final] int y;
}

これの長所と短所は何ですか?私には、特にメソッドのパラメーターまたは戻り値として両方のプロパティを入力する必要がある場合は、2 番目のアプローチを使用する方が実用的だと思われますが、これにより不要な手順が多すぎるかどうかも考えています (小さなことのために新しいオブジェクトを作成する)。 ...

4

3 に答える 3

2

独立した目的を持つものを表す場合にのみ、個別のクラス定義が本当に必要になります。そのため、将来的には別の場所で必要になるか、独立した機能 (責任の分割) が含まれる可能性があります。Chris が述べたように、あなたの例は Point クラスに直接関連しているため、後者の方が適切です。

于 2013-05-11T15:10:10.307 に答える
2

または、カスタム クラスを作成して使用することはできませんPoint。本当にそれはあなた次第です。座標を含む計算を実行する必要がある場合、またはオブジェクトの座標を頻繁に渡す必要がある場合は、それらをオブジェクトにまとめてコードを単純にすることをお勧めします。それらが一定であり、決して変化しない場合 (実際に知ることはできません)、それらをint値として保持できます。

于 2013-05-11T15:01:55.567 に答える