Hallo liebe Community,
ich versuche gerade ein etwas größeres Spiel zu schreiben und bin dabei auf ein Problem gestoßen. Ich möchte gerne eine abstrakte Methode schreiben, welche 5 static Attribute aufweist, welche ich aber noch nicht initialisieren möchte, sodass alle davon erbenden Klassen (Typen) verschiedene final Werte (Eigenschaften bzw. Fähigkeiten) haben. Der Compiler meldet mir aber einen Fehler zurück, wenn ich versuche in der abstrakten Klasse final Variablen verwende, ohne diese zu initialisieren. (Ist ja eigentlich logisch, da ich ja keine Konstante ohne einen Wert angeben kann). Ich programmiere das Spiel nach einem vorgegebenen UML-Klassendiagramm. Und dort sind die fünf Variablen eben als final (readOnly) deklariert. Klar könnte ich die Eigenschaften in der Superklasse jetzt einfach weglassen, und jeweils in den Unterklassen die Werte setzen. Aber dann wäre das nicht mehr laut der Aufgabenstellung.
Gibt es irgendeine Möglichkeit, final Variablen ohne Wert in der Superklasse zu realisieren oder irgendwelche anderen lustigen Ideen?
Vielen Dank schon einmal im Voraus
VG
ich versuche gerade ein etwas größeres Spiel zu schreiben und bin dabei auf ein Problem gestoßen. Ich möchte gerne eine abstrakte Methode schreiben, welche 5 static Attribute aufweist, welche ich aber noch nicht initialisieren möchte, sodass alle davon erbenden Klassen (Typen) verschiedene final Werte (Eigenschaften bzw. Fähigkeiten) haben. Der Compiler meldet mir aber einen Fehler zurück, wenn ich versuche in der abstrakten Klasse final Variablen verwende, ohne diese zu initialisieren. (Ist ja eigentlich logisch, da ich ja keine Konstante ohne einen Wert angeben kann). Ich programmiere das Spiel nach einem vorgegebenen UML-Klassendiagramm. Und dort sind die fünf Variablen eben als final (readOnly) deklariert. Klar könnte ich die Eigenschaften in der Superklasse jetzt einfach weglassen, und jeweils in den Unterklassen die Werte setzen. Aber dann wäre das nicht mehr laut der Aufgabenstellung.
Gibt es irgendeine Möglichkeit, final Variablen ohne Wert in der Superklasse zu realisieren oder irgendwelche anderen lustigen Ideen?
Vielen Dank schon einmal im Voraus
VG
Zuletzt bearbeitet: