Hi liebe Leute,
ich stehe glaub ich gerade ziemlich auf der Leitung und hoffe ihr könnt mir schnell helfen...
ich habe folgendes Szenario (etwas abstrahiert):
Ich habe ein Java Programm, das 2 verschiedene Fälle behandeln soll. Dies wird anhand des ersten parameters, der beim Aufruf mitgegeben wird entschieden. Also ist zur gesamten Runtime jeweils nur 1 Fall aktuell.
Es gibt jede Menge andere Parameter, die über die command line mitgegeben werden, diese unterscheiden sich aber leicht je nachdem ob es Fall 1 oder Fall 2 ist.
Jetzt hab ich mir gedacht ich mache eine Klasse "Params" in der die Variablen, die für beide Fälle gelten definiert sind und dann 2 Klassen die davon erben und jeweils die verbleibenden 2-3 variablen definieren.
Gedacht war das ganze dann so:
Habt ihr Ideen wie man besser an das Problem herangehen kann?
Danke und lg
ich stehe glaub ich gerade ziemlich auf der Leitung und hoffe ihr könnt mir schnell helfen...
ich habe folgendes Szenario (etwas abstrahiert):
Ich habe ein Java Programm, das 2 verschiedene Fälle behandeln soll. Dies wird anhand des ersten parameters, der beim Aufruf mitgegeben wird entschieden. Also ist zur gesamten Runtime jeweils nur 1 Fall aktuell.
Es gibt jede Menge andere Parameter, die über die command line mitgegeben werden, diese unterscheiden sich aber leicht je nachdem ob es Fall 1 oder Fall 2 ist.
Jetzt hab ich mir gedacht ich mache eine Klasse "Params" in der die Variablen, die für beide Fälle gelten definiert sind und dann 2 Klassen die davon erben und jeweils die verbleibenden 2-3 variablen definieren.
Gedacht war das ganze dann so:
Java:
Params params;
if(fall1){
params = new ParamsFall1(args);
} else {
params = new ParamsFall2(args);
}
//PROBLEM:
x =params.definedInParent;
//funktioniert; ist also eine der Variablen, die für beide Fälle gilt
y = params.definedInChild;
//undefinierte Variable, da sie nicht in der Signatur der Parent Klasse definiert ist
z=((ParamsFall1)params).definedInChild; //funktioniert, aber finde ich sehr umständlich
Habt ihr Ideen wie man besser an das Problem herangehen kann?
Danke und lg
Zuletzt bearbeitet: