* 更新的代码 *我必须编写一个封装体育游戏的类,它继承自Game。游戏具有以下附加属性:游戏是团队游戏还是个人游戏,以及游戏是否能以平局结束。
我不熟悉继承,我想知道你们是否可以帮助我走上正确的道路。我一整天都在阅读关于遗产的事情,只是不明白。我的问题是:如何构建这个项目来构建继承,什么可以/应该继承,你是如何做到的?谢谢
我想我可能已经想了一下,但是有些人可以帮助使用toString方法以及如何编写canTie吗?
public class Game
{
public static void main(String[] args)
{
Question39 gm1 = new Question39();
System.out.println("Game type: "+ gm1.getGameType() + "\n"
+ "Can it tie: " + gm1.getCanTie());
}
public Game()
{
}
}
第二课
public class SportsGame extends Game
{
public SportsGame()
{
super();
}
public String toString()
{
String output ="hey";
return output;
}
//Accessors (Getters)
public String getGameType()
{
Scanner scan = new Scanner(System.in);
System.out.println("Enter number of players");
int players = scan.nextInt();
if (players > 2)
{
return "Team";
}
else
{
if (players ==2)
{
return "Individual";
}
else
{
return "N/A";
}
}
}
public String getCanTie()
{
String canTie = "yes";
String cantTie = "no";
if (1==1)
{
return canTie;
}
else
{
return cantTie;
}
}
}
答案 0 :(得分:1)
因为您的SportsGame
“是”Game
,所以它应该从Game
继承。
语法是:
public class SportsGame extends Game {
// ....
}
你的课程应该是这样的:
// In Game.java:
public abstract class Game {
public abstract boolean isTeamGame();
public abstract boolean canEndInTie();
}
// In SportsGame.java:
public class SportsGame extends Game {
// You'll need to implement the methods from Game here.
// For example:
@Override
public boolean isTeamGame() {
return true;
}
@Override
public boolean canEndInTie() {
return true;
}
}
或者,您可以将这些值初始化为构造函数中的变量,然后从这些方法返回它们。