java 和 xna(c#) 中继承语法之间的差异

本文关键字:之间 语法 继承 xna java | 更新日期: 2023-09-27 18:33:07

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

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

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

谢谢。

java 和 xna(c#) 中继承语法之间的差异

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;
    }
}

试试这个:

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

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

Java

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

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的调用也可以在没有参数的情况下进行,但在您的情况下,您需要添加它们。