Hallo Leute,
wir müssen Hausaufgabe ein art kleines Rollenspiel auf Konsolenbasis programmieren.
Dafür gibt es einige Anweisungen und Regeln.
Meine Frage bezieht sich darauf das wir einem Mage oder einem Warrior Skills übergeben sollen und für diese Skills eine abstrakte Basisklasse implementieren sollen welche dann durch zwei weitere Klassen "Fire" "PowerStrike" erweitert wird. Diese Basisklasse hat 3 Attribute :
Nun soll in der Subklasse Fire und PowerStrike die drei Attribute über den Konstruktor gesetzt werden. Aber der Konstruktor der beiden Klassen sollen selbst keine Parameter übergeben werden, bedeutet es wurde ein Error geworfen da die Parameter des Super Aufrufs nicht als Parameter im Konstruktor der Subklassen zufinden sind. Ich habe das Problem umgangen, indem ich bei dem Superaufruf einfach die Werte fest übergeben habe:
Denn die Skills sollen feste Namen und auch feste Werte haben sowie einem "Owner" zugeordnet werden was hier aber irrelevant ist.
Ist das so korrekt oder nur eine schlechte Lösung welche man so nicht anwenden sollte und gibt es dafür eine sauberere Lösung ?
Vielen Dank im voraus und lg !
wir müssen Hausaufgabe ein art kleines Rollenspiel auf Konsolenbasis programmieren.
Dafür gibt es einige Anweisungen und Regeln.
Meine Frage bezieht sich darauf das wir einem Mage oder einem Warrior Skills übergeben sollen und für diese Skills eine abstrakte Basisklasse implementieren sollen welche dann durch zwei weitere Klassen "Fire" "PowerStrike" erweitert wird. Diese Basisklasse hat 3 Attribute :
Code:
String name;
Owner owner;
int MpCosts;
Nun soll in der Subklasse Fire und PowerStrike die drei Attribute über den Konstruktor gesetzt werden. Aber der Konstruktor der beiden Klassen sollen selbst keine Parameter übergeben werden, bedeutet es wurde ein Error geworfen da die Parameter des Super Aufrufs nicht als Parameter im Konstruktor der Subklassen zufinden sind. Ich habe das Problem umgangen, indem ich bei dem Superaufruf einfach die Werte fest übergeben habe:
Denn die Skills sollen feste Namen und auch feste Werte haben sowie einem "Owner" zugeordnet werden was hier aber irrelevant ist.
Ist das so korrekt oder nur eine schlechte Lösung welche man so nicht anwenden sollte und gibt es dafür eine sauberere Lösung ?
Code:
public class Fire extends Skill{
public Fire(Charakter Owner){
super("Fire", Owner, 7);
}
Vielen Dank im voraus und lg !