Hallo !
Macht es in der Praxis eigentlich nur einen Sinn, Referenzvariablen vom Typ eines Interface zu deklarieren und diesen Variablen Objekte
zur Laufzeit zuzuweisen, welches das Interface implementieren. (Variante 1)
Oder kann man auch ohne Bedenken in der Praxis Referenzvariablen vom Typ einer abstrakten Klasse bauen und diesen Referenzvariablen Objekte zuweisen,
die diese abstrakte Klasse erweitern. (Variante 2)
Oder kann man auch Referenzvariablen vom Typ einer Klasse bauen, die in der Objekthierarchie über der Klasse stehen, von der man Objekte zur Laufzeit
an die Referenzvariable zuweisen möchte? Also einer höher gelegenden Klasse wird ein Objekt einer niedrigeren Klasse zugewiesen. (Variante 3)
Gibt es in der Praxis eine Variante, die man lieber als Best Practise gänzlich vermeiden sollte, oder kann man ruhig alle drei Varianten anwenden, ohne große
Bedenken zu haben?
Grüße
Kossy
Macht es in der Praxis eigentlich nur einen Sinn, Referenzvariablen vom Typ eines Interface zu deklarieren und diesen Variablen Objekte
zur Laufzeit zuzuweisen, welches das Interface implementieren. (Variante 1)
Oder kann man auch ohne Bedenken in der Praxis Referenzvariablen vom Typ einer abstrakten Klasse bauen und diesen Referenzvariablen Objekte zuweisen,
die diese abstrakte Klasse erweitern. (Variante 2)
Oder kann man auch Referenzvariablen vom Typ einer Klasse bauen, die in der Objekthierarchie über der Klasse stehen, von der man Objekte zur Laufzeit
an die Referenzvariable zuweisen möchte? Also einer höher gelegenden Klasse wird ein Objekt einer niedrigeren Klasse zugewiesen. (Variante 3)
Gibt es in der Praxis eine Variante, die man lieber als Best Practise gänzlich vermeiden sollte, oder kann man ruhig alle drei Varianten anwenden, ohne große
Bedenken zu haben?
Grüße
Kossy