In dem Beispielprogramm enthält die Klassendefinition von VideoTape
einen Konstruktor, also wurde der Standardkonstruktor nicht automatisch zur Verfügung gestellt.
Also verursacht der für Movie vorgeschlagene Konstruktor einen Syntaxfehler.
Wir wollen ihn nicht verwenden.
Hier ist ein Beispielprogramm, dass zwei Klassen verwendet:
class TapeStore
{
public static void main ( String args[] )
{
VideoTape item1 = new VideoTape("Microcosmos", 90 );
Movie item2 = new Movie("Jaws", 120, "Spielberg", "PG" );
item1.show();
item2.show();
}
}
(Sie können das Programm ausführen, indem Sie NotePad verwenden und die Klassendefinitionen der vorherigen Seiten kopieren und einfügen.) Wenn Sie es ausführen, werden Sie die folgende Ausgabe bekommen:
Microcosmos, 90 Min. verfuegbar:true Jaws, 120 Min. verfuegbar:true
Die Anweisung item2.show() ruft die show() Methode
von item2.
Diese Methode wurde ohne Änderungen von der Klasse
VideoTape geerbt.
Sie sieht folgendermaßen aus:
public void show()
{
System.out.println( title + ", " + length + " Min. verfuegbar:" + avail );
}
Sie erwähnt nicht die neuen Variablen, die den Objekten vom Typ Movie hinzugefügt wurden, also wird nichts Neues ausgegeben.