Typzusicherungen
(Type-cast) In vielen Anwendungsfällen spielen Typzusicherungen eine
wichtige Rolle.
In einer konkreten Situation müssen Sie die Klasse eines Objektes konkret
spezifizieren um auf seine Funktionalität zugreifen zu können:
Typische Situation:
es gebe eine Klasse Kreis und eine Klasse Quadrat, beide seien abgeleitet aus einer
Klasse GrafischesObjekt.
Betrachten Sie nun folgendes Programmstück:
GrafischesObjekt o;
if (Math.random()<0.5)
{ o = new Kreis();} else { o=new Quadrat();}
// o ist Kreis oder Rechteck
if (unbekanntesObjekt instanceof Kreis)
{
((Kreis)o).setzeRadius(10);
// wenn o ein Kreis ist, dann wird der Radius gesetzt
} else
{
((Quadrat).o).setzeKantenlänge(10);
// wenn o ein Quadrat ist, dann wird die Kantenlänge gesetzt
}
o.zeige(); // Das versteht jedes grafische Objekt
Durch das Voranstellen des Klassennamens in Klammern wird die Typzusicherung
vorgenommen.
allgemein: (Klassenbezeichner)Objektbezeichner
|