2013-09-26 60 views
0

目前我正在翻譯我在java中做的項目,對於使用超類/子類有一個簡短的問題。基本上,在Java項目,我有這樣的構造:在java和xna中繼承語法的差異(c#)

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

,我是有問題的部分用的是超(參考,X,Y) - 什麼是做正確的方式XNA?我知道基地是用來代替超級,但我嘗試使用基地在java代碼中使用超級,並沒有奏效。超級類的參數是相同的(這個項目已經在java中完成,所以一切都按照我的想法運行)我使用xna gamepoint 4.0,如果這有什麼區別的話。

謝謝。

+9

我會強烈建議不要通過XNA學習C#。我建議你在更友好的環境中學習C#的基礎知識 - 理想的控制檯應用程序。我還建議你從書中學習C#,而不是僅僅複製Java並試圖調整它直到編譯完成。你會以這樣的方式結束*非常糟糕的代碼。 –

回答

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

非常感謝! – jansen35

3

試試這個:

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

假設基類與(String reference, int x, int y)構造。

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呼叫可以不帶參數進行爲好,但在你的情況,你就需要添加它們。