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?