Forum: Programmieren allgemein
by MrSpock,
30. Jan 2011
Das verstehe ich nur teilweise. Der Basiscode muss ja auch dann nicht geändert werden, wenn man den Typen so wie in der 2. Version oben angibt. Denn überall da, wo ich eine Klasse oder ein Interface einsetze, kann ich ja auch eine Unterklasse oder ein Unter-Interface einsetzen. Wenn der Rückgabewert einer Methode den Typ einer Klasse hat, jetzt aber eine Unterklasse bekommt, kann der Basiscode...
Forum: Programmieren allgemein
by MrSpock,
30. Jan 2011
Hallo,
ich finde immer wieder Beispiele bei Deklarationen wie dieses:
Collection<String> strings = new LinkedList<String>();
Was ist der tiefere Sinn darin, strings als Oberklasse zu definieren? LinkedList<String> ist ja eine Unterklasse zu Collection <Strings>. D.h auch, dass ich z.B. in Methoden überall wo eine Collection<String> erwartet wird, auch jede Unterklasse angeben kann. Warum...