【发布时间】:2016-02-15 09:15:06
【问题描述】:
任务 1. 设计和实现类 SportsClub(抽象类)、FootballClub。 课程应包括适当的方法并保存有关俱乐部名称、位置和有关俱乐部的各种统计数据的信息。 FootballClub 应包括统计数据,例如一个实例在本赛季取得的胜利、平局和失败次数、进球数和进球数。俱乐部目前的积分数,以及参加的比赛次数。
任务 2. 实现一个扩展接口 LeagueManager 的 PremierLeagueManager 类。 PremierLeagueManager 类维护了许多在英超联赛中踢球的足球俱乐部。该类应基于文本输入创建一个菜单,并为用户提供以下选择: •
创建一个新的足球俱乐部并将其添加到英超联赛。 •
从英超联赛中删除(降级)现有的足球俱乐部
- 显示选定俱乐部的各种统计数据。
- 显示英超联赛表
我设计了抽象类
public abstract class SportsClub {
int position;
String name;
int points;
int wins;
int defeats;
int draws;
int totalMatches;
int goalF;
int goalA;
int goalD;
String location;
}
我扩展了抽象类,我知道我可以使用 get/set 方法,但我使用了构造函数来初始化(如果我不习惯请纠正我)
public class FootballClub extends SportsClub {
FootballClub(int position, String name,
int points, int wins,
int defeats, int draws,
int totalMatches, int goalF,
int goalA, int goalD) {
this.position = position;
this.name = name;
this.points = points;
this.wins = wins;
this.defeats = defeats;
this.draws = draws;
this.totalMatches = totalMatches;
this.goalF = goalF;
this.goalA = goalA;
this.goalD = goalD;
}
}
现在我需要编写一个我知道该怎么做的接口,但我试图弄清楚我是在接口内声明方法还是应该在抽象类中做。基本上我需要帮助我如何处理这整个 excersie。不知道我应该为 main 方法使用什么类。我是一个新学习者,如果有人帮助我解决我应该如何处理的问题,我真的很困惑,我相信我自己能够做到。如果有人简化我整个练习,请不要要求代码需要帮助
【问题讨论】:
-
1)
main方法可以在任何类中。只需将其设置为程序的入口点。 2) 一个接口声明一个方法,但它没有实现它。将方法的实现留给子类。 3)您的抽象 SportsClub 类有太多变量 - 它太具体了。如果你想创建一个GolfSportsClub怎么办?高尔夫没有“目标”......特定于一个类的变量应该放在那个类中,而不是父类。 -
除此建议外,我们还需要一个特定问题才能回答您的问题。正如现在所写,你的问题太宽泛了。
-
您在 SportsClub 中放置的统计数据过多。例如,积分、胜利、失败、平局、进球等对于 SportsClub 的其他子类可能毫无意义。请注意,说明说这些应该在 FootballClub 中。
-
一个接口,以其最简单的形式,只定义方法头(即没有主体的方法)。您基本上说“想要支持我的界面的人必须实现此功能”(例如
push(...)和pop()用于堆栈)。您不关心它们是如何实现的(这是实现您的接口的人的任务)。也许this 会有所帮助。
标签: java class oop interface abstract-class