决定有问题的班级

时间:2012-11-26 21:01:57

标签: java class

考虑一个保存和报告保龄球俱乐部保龄球和球队信息的计划。每周都有一场锦标赛。每个队员以4人为一组,参加3场比赛。球队根据他们在锦标赛中击败的球队积累积分,并跟踪球员的平均值。列出班级和班级责任。

最好的方法是什么?

这是我到目前为止的课程:

  • BowlerNames创建一个存储保龄球名称的数组
  • Teams从BowlerNames中的数组中获取名称并将它们放入团队
  • TeamScore启动对象TeamScore和玩家得分
  • Game在比赛中记录投球手得分
  • points在比赛期间获得球员的得分,并将其添加到球队得分
  • TeamWin发起一个胜利对象,如果一个团队的分数大于另一个团队,那么它会为胜利对象增加一个
  • Average获取球员得分对象并找到其平均值

1 个答案:

答案 0 :(得分:2)

一些建议,仅仅因为你可以并不意味着一切都必须是一个阶级。有些事情,例如,团队的得分是关于某人或某事的信息。那些,而不是一个阶级,是字段。

你什么时候需要上课?如果您有一个实体,一个对象,您想在代码中表示的人。一个人,一辆汽车,一件物品,这些都是经典的课程范例。

你必须通过写下想到的想法,找到你要编写代码的不同事物之间的关系,并给予他们他们应该具有的行为。例如:

  • 玩家按小组分组
  • 玩家 平均得分
  • 团队参加游戏
  • 团队累积得分
  • 所有信息由程序管理

您可以提出其他一些想法,但每当您尝试学习识别它们背后的模式时。行动ussualy代表从管理到“知道”某些事情的责任。主题通常是类,除非你在谈论一些更高级别的功能。在这些情况下,您有特定的类来管理信息。

我会在这里撒一些豆子,但你似乎需要一个起点,不要为你做,而是要解决你应该如何解决问题。接近第一,稍后解决。

TeamScore相当无用。正如其名称所示,它是Team的分数,实际上,它是Team的属性而不是对象本身,因为它只能保持实际分数。你如何计算平均值以及如何添加分数取决于你,只要记住你正在编写一个小应用程序

  

用于保存和报告信息(...)