Ein Array vom Typ Karte
:
Karte[] karten = new Karte[12];
Jetzt kann jedes Objekt, das zu der Hierarchie gehört, in einen Slot des Arrays passen. Das ist vergleichbar mit einem Grußkartenständer in einem Andenkengeschäft, der verschiedene Typen von Karten enthält. Hier ist ein Programmschnipsel:
Karte[] karten = new Karte[12];
karten[0] = new KinderGeburtstag( "Valerie", 7 );
karten[1] = new ErwachsenenGeburtstag( "Walter", 47 );
karten[2] = new Geburtstag( "Zoe", 30 );
karten[3] = new Feiertag( "Kelly" );
karten[4] = new Valentin( "Jill", 42 );
for ( int j = 0; j <= 4; j++ )
karten[ j ].gruss();
Dieser Code wird 5 verschiedene Kartenobjekte erzeugen und die Referenz auf sie in das Array stellen. Dann wird er jedes Objekt über das Array auffordern seine eigene Grußversion auszugeben. Das wird ausgezeichnet funktionieren:
Dear Valerie, alles Gute zum 7. Geburtstag. Was bist du gross geworden!! Dear Walter, alles Gute zum 47. Geburtstag. Du siehst so jung aus wie immer! Dear Zoe, alles Gute zum 30. Geburtstag. Dear Kelly, frohe Feiertage! Dear Jill, herzliche Gruesse und Kuesse, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(Ich habe einige Leerzeilen des aktuellen Outputs entfernt.)
Jetzt angenommen, dass dieser Code dem oben stehenden folgt:
Karte temp; temp = karten[0]; karten[0] = karten[1]; karten[1] = temp;