Man kann ja schreiben (Obst ist Superklasse)
oder man schreibt
In beiden Fällen erhält man ein Objekt vom Typ
, beim ersten Beispiel ist die Objektreferenz aber die Superklasse.
Wofür ist das so allgemein gut? Bisher hab ich Arraylisten kennengelernt, welche ja
1. nur Objekte annehmen
2. welche man mit Polymorphie allgemein halten kann, so dass man nur eine Arrayliste für den Objekttyp
erzeugen muss und nicht für jede Obstsorte eine eigene.
Grundgedanke dahinter ist ja, dass immer die Objektreferenz verglichen wird und nicht das Objekt an sich, so dass man mit dem ersten Codebeispiel die Arraylist beliebig verwenden kann, wenn man neue Obstsorten erzeugt.
Gibt es dann noch einen Grund, das zweite Codebeispiel irgendwann anzuwenden, wenn man auch das erste nehmen könnte? :rtfm:
Code:
Obst apfel = new Apfel()
oder man schreibt
Code:
Apfel apfel = new Apfel()
In beiden Fällen erhält man ein Objekt vom Typ
Code:
Apfel
Wofür ist das so allgemein gut? Bisher hab ich Arraylisten kennengelernt, welche ja
1. nur Objekte annehmen
2. welche man mit Polymorphie allgemein halten kann, so dass man nur eine Arrayliste für den Objekttyp
Code:
Obst
Grundgedanke dahinter ist ja, dass immer die Objektreferenz verglichen wird und nicht das Objekt an sich, so dass man mit dem ersten Codebeispiel die Arraylist beliebig verwenden kann, wenn man neue Obstsorten erzeugt.
Gibt es dann noch einen Grund, das zweite Codebeispiel irgendwann anzuwenden, wenn man auch das erste nehmen könnte? :rtfm: