我想將一個類擴展爲多個其他類,例如在Java中擴展類
public class Ability extends Character
由於這個我在我的代碼得到一個錯誤:
隱超構造字符()是不確定的。必須明確地調用另一個構造Defense.java
我的代碼是:
public class Character {
int characterID;
double characterHealth;
public Character(int charID, double charHealth) {
characterID = charID;
characterHealth = charHealth;
}
}
public class Defense extends Character {
int armorClass;
int difficultyClass;
public Defense(int newAC, int newDC){
armorClass = newAC;
difficultyClass = newDC;
}
}
我不確定如何調用另一個構造。 如果有人能指出爲什麼以及如何去做。
嗯,看看我會嘗試使用程序可以執行的自動生成的程序部分來做這件事。我給它一個去感謝。 什麼是擴展關鍵字與:在C#中的比較?因爲如果我記得:不需要使用超級方法,或者是:與擴展不一樣? –
@VasaSerafin構造語義是不同的,因爲只要定義一個沒有參數的ctor,就不會自動爲您生成* implicit * default(no-arg)。只要超類中沒有默認的ctor,你就必須明確地調用其中一個 - 這就是Java的方式。 –
所以基本上你說的是超級是在C#中創建的,也只是在程序的後端?有沒有一個混亂的方式來定義超級,因爲目前,由於所有使用的變量,編碼可能會變得很長。 也只是爲了澄清,如果我要序列化Character對象,序列化是否會包含其他類? –