Hallo zusammen,
ich habe eine Anweisung der folgenden Art:
Wie kann man diese Anreihung von if-else-Anweisungen eleganter lösen?
Man könnte die Logik in das Objekt packen und es ein Interface implementieren lassen. Beispiel:
Erstes Objekt:
Zweites Objekt:
usw.
Das Problem ist, dass ich die Klassen A, B, C, usw. nicht verändern darf, wodurch es nicht möglich ist, sie das Interface MyLogic implementieren zu lassen.
Wie könnte man das Problem sonst lösen bzw. besser schreiben?
Freue mich über eure Ratschläge!
ich habe eine Anweisung der folgenden Art:
Code:
if (x instanceof A) {
doSomething1();
} else if (x instanceof B) {
doSomething2();
} else if (x instanceof C) {
doSomething2();
} // usw.
Wie kann man diese Anreihung von if-else-Anweisungen eleganter lösen?
Man könnte die Logik in das Objekt packen und es ein Interface implementieren lassen. Beispiel:
Code:
public interface MyLogic{
public void doLogic();
}
Erstes Objekt:
Code:
public class A implements MyLogic{
public void doLogic(){// hier die Logik 1}
}
Zweites Objekt:
Code:
public class B implements MyLogic{
public void doLogic(){// hier die Logik 2}
}
usw.
Das Problem ist, dass ich die Klassen A, B, C, usw. nicht verändern darf, wodurch es nicht möglich ist, sie das Interface MyLogic implementieren zu lassen.
Wie könnte man das Problem sonst lösen bzw. besser schreiben?
Freue mich über eure Ratschläge!