Hallo Java-Kollegen!
Ich habe da ein Problemchen was ich nicht lösen kann:
In einer Liste befinden sich Elemente die ich entsprechend ihres Typs unterschiedlich behandeln will. Ich möchte Polymorphie benutzen, um mir verschachtelte Verzweigungen zu ersparen. Hat jemand eine Idee, wie sich das lösen lässt.
Hier mein Beispiel:
Vielen Dank
Stefan
Ich habe da ein Problemchen was ich nicht lösen kann:
In einer Liste befinden sich Elemente die ich entsprechend ihres Typs unterschiedlich behandeln will. Ich möchte Polymorphie benutzen, um mir verschachtelte Verzweigungen zu ersparen. Hat jemand eine Idee, wie sich das lösen lässt.
Hier mein Beispiel:
Code:
import java.util.ArrayList;
import java.util.List;
public class SmallTests {
List<A> aList = new ArrayList<A>();
public static void main(String[] args) {
SmallTests t = new SmallTests();
//Die Liste enthält Untertypen von A
t.aList.add( t.new A1() );
t.aList.add( t.new A2() );
//In der Schleife soll eine Unterscheidung nach Untertyp erfolgen.
//Dies führt aber leider zu einem Fehler des Compilers.
//Euer Rat ist hier gefragt...
for( A a : t.aList )
test( a );
}
private static void test( A1 a ) {
System.out.println( a.getClass().getName() );
}
private static void test( A2 a ) {
System.out.println( a.getClass().getName() );
}
private class A {
}
private class A1 extends A {
}
private class A2 extends A {
}
}
Vielen Dank
Stefan