0

ボウリングクラブのボウラーとチームに関する情報を保持し、報告するためのプログラムを検討してください。毎週トーナメントがあります。各プレーヤーは、4人のチームで、3ゲームをボウルします。チームはトーナメントで勝ったチームの数に応じてポイントを蓄積し、プレーヤーの平均が追跡されます。クラスとクラスの責任のリストを作成します。

これで行くための最良の方法は何ですか?

これらは私がこれまでに持っているクラスです:

  • BowlerNamesボウラーの名前を格納する配列を作成します
  • TeamsBowlerNamesの配列から名前を取得し、それらをチームに配置します
  • TeamScoreオブジェクトTeamScoreとプレーヤースコアを開始します
  • Gameゲーム中のボウラーのスコアを記録します
  • pointsゲーム中にプレーヤーのスコアを取得し、それをチームスコアに追加します
  • TeamWin勝利オブジェクトを開始します。チームのポイントが他のチームよりも大きい場合、勝利オブジェクトに1を追加します。
  • Averageプレーヤーのスコアオブジェクトを取得し、その平均を見つけます
4

1 に答える 1

2

いくつかのアドバイスは、できるからといって、すべてがクラスでなければならないという意味ではありません。たとえば、チームのスコアなどは、誰かまたは何かに関する情報です。それらは、クラスではなくフィールドです。

いつクラスが必要ですか?コードで表現したいエンティティ、オブジェクト、誰かがある場合。人、車、アイテム、これらはクラスの典型的な例です。

頭に浮かんだアイデアを書くことによって、コードを記述しようとしているさまざまなものの間の関係を見つけ、それらが持つべき動作を与える必要があります。例えば:

  • プレイヤーはチームにグループ化されます
  • プレイヤー平均スコアを持っています
  • チームはゲームに参加します
  • チームはスコアを蓄積します
  • すべての情報はプログラムによって管理されます

他にも思いつくアイデアはいくつかありますが、その背後にあるパターンを特定することを学ぼうとするときはいつでも. アクションは通常、管理から単に何かを「知る」までの範囲の責任を表します。上位レベルの機能について話している場合を除き、サブジェクトは通常クラスです。そのような場合、情報を管理する特定のクラスがあります。

ここでいくつかの豆をこぼしますが、あなたのためにそれを行うのではなく、問題にどのように取り組むべきかについていくつかの光を当てるために、出発点が必要なようです. 最初にアプローチし、後で解決します。

TeamScoreむしろ役に立たない。その名前が示すように、これはTeamTeamスコアです。実際には、実際のスコアのみを保持するため、オブジェクト自体ではなく の属性です。平均をどのように計算し、どのようにスコアを追加するかはあなた次第です。小さなアプリをプログラミングしていることを覚えておいてください。

情報を保持し、報告するため (...)

于 2012-11-26T21:46:59.623 に答える