Morgen,
ich hätte eine Frage zum Polymorphismus und zwar folgendes, ich habe z.B.: Katzen und Hunde -> Überklasse ist Tiere, Katzen und Hunde sind von Tiere abgeleitet, so weit so gut, wenn ich jetzt in einer Verwaltung von Tieren:
oder
schreibe, ist eigentlich völlig egal, es werden, wenn ich die ArrayList ausgebe, immer die richtigen Methoden aufgerufen.
Ein Variable als Tiere tiere = ... zu deklarieren macht ja nur Sinn, wenn ich dieser Variable verschiedene Tiere zuweisen möchte (Hunde oder Katzen), ansonsten ist es ja ziemlich egal,
Sehe ich das richtig so oder gibt doch einen Unterschied?
schönen Tag noch,
ich hätte eine Frage zum Polymorphismus und zwar folgendes, ich habe z.B.: Katzen und Hunde -> Überklasse ist Tiere, Katzen und Hunde sind von Tiere abgeleitet, so weit so gut, wenn ich jetzt in einer Verwaltung von Tieren:
Code:
Katzen katze1 = new Katzen();
Katzen katze2 = new Katzen();
Hunde hund1 = new Hund();
List<Tiere> tiereList = new ArrayList<Tiere>();
tiereList.add(katze1);
tiereList.add(katze2);
tiereList.add(hund1);
oder
Code:
Tiere katze1 = new Katzen();
Tiere katze2 = new Katzen();
Tiere hund1 = new Hund();
List<Tiere> tiereList = new ArrayList<Tiere>();
tiereList.add(katze1);
tiereList.add(katze2);
tiereList.add(hund1);
schreibe, ist eigentlich völlig egal, es werden, wenn ich die ArrayList ausgebe, immer die richtigen Methoden aufgerufen.
Ein Variable als Tiere tiere = ... zu deklarieren macht ja nur Sinn, wenn ich dieser Variable verschiedene Tiere zuweisen möchte (Hunde oder Katzen), ansonsten ist es ja ziemlich egal,
Sehe ich das richtig so oder gibt doch einen Unterschied?
schönen Tag noch,