Hey,
ich habe das folgende Problem:
Wie ich in einem anderen Beitrag schon beschrieben habe, habe ich für die Bewertung einer Fähigkeit ein Interface geschrieben, das eine Bewertungsmethode verlangt.
Jede Fähigkeit muss dieses Interface implementieren. Jetzt gibt es aber noch verschiedene Oberklassen von Fähigkeiten. Es gibt beispielsweise Eigenschaften, die passiv sind, es gibt Attacken, die aktiv sind und es gibt Elementtypen. Diese Elementtypen bieten Vor- und Nachteile anderen Elementtypen gegenüber.
Deshalb habe ich momentan eine Klasse
und eine Klasse
Dazu gibt es ein Enum
, das die einzelnen Elemente darstellt. Momentan muss den beiden Klassen jeweils noch der Typ übergeben werden, um die Klasse zu erzeugen.
Ich wollte nun fragen, ob es irgendwie die Möglichkeit gibt, das generisch zu lösen. Dass man also den Typ generisch übergeben kann, in etwa wie folgt:
Oder anders gesagt, geht es um die Frage, ob man Enums als generischen Typ übergeben kann.
ich habe das folgende Problem:
Wie ich in einem anderen Beitrag schon beschrieben habe, habe ich für die Bewertung einer Fähigkeit ein Interface geschrieben, das eine Bewertungsmethode verlangt.
Jede Fähigkeit muss dieses Interface implementieren. Jetzt gibt es aber noch verschiedene Oberklassen von Fähigkeiten. Es gibt beispielsweise Eigenschaften, die passiv sind, es gibt Attacken, die aktiv sind und es gibt Elementtypen. Diese Elementtypen bieten Vor- und Nachteile anderen Elementtypen gegenüber.
Deshalb habe ich momentan eine Klasse
Java:
public class Advantage implements Ability {}
Java:
public class Disadvantage implements Ability {}
Java:
public enum Type {Water, Fire, Nature, Dark, Light}
Ich wollte nun fragen, ob es irgendwie die Möglichkeit gibt, das generisch zu lösen. Dass man also den Typ generisch übergeben kann, in etwa wie folgt:
Java:
public static void main(String[] args) {
Advantage<Type.Fire> fireAdvantage = new Advantage<Type.Fire>();
}
Oder anders gesagt, geht es um die Frage, ob man Enums als generischen Typ übergeben kann.