0

目前我正在翻译一个我用java制作的项目,有一个关于使用超类/子类的快速问题。基本上,在java项目中,我在构造函数中有这个:

public ShipSub(MainGame game, String reference, int x, int y)
{
    super(reference,x,y);
    this.game=game; 
}

我遇到问题的部分是 super(reference,x,y) - 在 xna 中这样做的正确方法是什么?我知道使用 base 而不是 super,但我尝试使用 base 的方式与在 java 代码中使用 super 的方式相同,但它不起作用。超类的参数是相同的(这个项目已经在 java 中完成,所以一切都按我想要的方式工作)我正在使用 xna gamepoint 4.0,如果这有什么不同的话。

谢谢。

4

3 回答 3

3

尝试这个:

public ShipSub(MainGame game, String reference, int x, int y) : base(reference,x,y)
{
    this.game=game; 
}

假设基类的构造函数带有(String reference, int x, int y).

于 2013-09-26T18:38:20.353 回答
3
public class ShipSub : SomeBaseClass
{
    private MainGame game;

    public ShipSub(MainGame game, String reference, int x, int y)
        : base(game, reference, x, y)
    {
        this.game = game;
    }
}
于 2013-09-26T18:32:52.480 回答
1

super()在 Java 中只是对父类的调用。这方面的一个程序示例是:

public class ShipSub : BaseClass // Base class would be what you call `super()` on
{
   private MainGame game;

   public ShipSub(MainGame mainGame, String reference, int x, int y) 
      : base(reference, x, y)
   {
      this.mainGame = game;
   }
} 

需要注意的是,base/super也可以在没有参数的情况下进行调用,但在您的情况下,您需要添加它们。

于 2013-09-26T18:41:11.493 回答