| 

.NET C# Java Javascript Exception

3
Servus Programmiergemeinde,
Ich habe in einem Fachbuch welches ich gerade lese einige Verständnisprobleme...aber vielleicht ist einer unter euch der mir helfen kann...
Es geht um die implizite Typumwandlung für Referenztypen!!!

1. von abgeleiteter Klasse (Schnittstelle) in Basisklasse (Basisschnittstelle)
==> Referenztypen bilden eine Vererbungshierachie,an deren Spitze Java.lang.Object steht...
Somit ist Object die Basisklasse oder auch Vaterklasse und alles darunter ist eine abgeleitet Klasse...somit könnte ich die abgeleitet Kasse in Object umwandeln... das dürfte soweit richtig sein???
2. von Klasse in Schnittstelle, die die Klasse implementiert
==> ???? schön wäre auch ein Beispiel...
3. von null in Klasse, Schnittstelle oder Array
==> ??? schön wäre auch ein Beispiel...
4. von Klasse, Schnittstelle oder Array in Object
==> Das müsste identisch sein zu Punkt 1...oder??? schön wäre auch ein Beispiel...
5. von Array-Typ[A] in Array-Typ,vorausgesetzt es gibt eine implizite Umwandlung von A
nach B ???? schön wäre auch ein Beispiel...

Danke für eure Mithilfe...
Gruß
Snowleopard
03.01.2018
1 Antwort
2
Hier vielleicht kurz die wichtigsten Regeln bei der impliziten Typumwandlung:
1. Eine abgeleitete Klasse kann immer in die Oberklasse konvertiert werden:
Object o;
MeineKlasse c;
c = new MeineKlasse();
o = c;

2. Eine Klasse, die Interface implementiert kann immer auf das Interface eingeschränkt werden:
IInterface i;
MeineKlasse c;
c = new MeineKlasse();
i = c;

3. Das gilt auch für Arrays der entsprechenden Typen.

TROTZDEM:
Es ist meist ein schlechter Stil eine implizite Typkonvertierung zu nutzen. In meinen Quellen verwende ich deshalb AUSSCHLIESSLICH explizite Typumwandlungen.
Implizite Typumwandlungen können bei späterer Anpassung des Codes zu sehr unangenehmen Überraschungen führen.
04.01.2018
edvservice 1,4k 1 6

Stelle deine Java-Frage jetzt!