Jaws, 120 Min. verfuegbar: true Star Wars, 90 min. verfuegbar: true
class Videoband
{
String titel; // Titel des Videos
int laenge; // Anzahl der Minuten
boolean vorhanden; // ist vorhanden?
// Konstruktor
public Videoband(String ttl)
{
titel = ttl; laenge = 90;
vorhanden = true;
}
// Konstruktor
public Videoband(String ttl, int len)
{
titel = ttl; laenge = len;
vorhanden = true;
}
public void anzeigen()
{
System.out.println(
titel + ", " + laenge +
" Min. verfuegbar:" + vorhanden);
}
}
class Spielfilm extends Videoband
{
String regisseur; // Name des Regisseurs
String bewertung; // G, PG, R oder X
// Konstruktor
public Spielfilm(
String ttl, int len, String reg, String bew)
{
// den Konstruktor der Superklasse
super( ttl, len ); // verwenden
regisseur = reg; // initialisieren, was in
bewertung = bew; // Spielfilm neu ist
}
}
Die Videoband-Klasse enthält Basisinformation und wäre für Dokumentarfilme und Lehrfilme OK.
Aber für Spielfilme werden mehr Informationen benötigt.
Wir werden uns eine Klasse erstellen, die der Klasse Videoband ähnelt, aber zusätzlich den Namen des Regisseurs und eine Bewertung für die Altersfreigabe enthält.
Die Klasse Spielfilm ist eine Subklasse von Videoband.
Ein Objekt des Typs Spielfilm verfügt über die folgenden Elemente:
Element titel geerbt von Videoband laenge geerbt von Videoband vorhanden geerbt von Videoband anzeigen() geerbt von Videoband regisseur definiert in Spielfilm bewertung definiert in Spielfilm
Beide Klassen sind definiert: Die Videoband-Klasse kann verwendet werden,
um Objekte dieses Typs zu konstruieren, und jetzt kann die Spielfilm-Klasse
verwendet werden, um Objekte vom Typ Spielfilm zu konstruieren.
Erbt eine Subklasse sowohl Variablen als auch Methoden?