Eine gute Antwort könnte sein:

  1. Sie müssten den gleichen Code nicht mehrmals schreiben.
  2. Eine Änderung der Methode in der Superklasse wird von der Subklasse geerbt.

Musikvideo Klasse

Bis jetzt hat die Videoverleih-Applikation zwei Klassen: VideoTape und Movie. Angenommen Sie möchten eine neue Klasse MusicVideo erzeugen, die wie VideoTape ist, aber zwei neue Instanzvariablen haben wird: artist (der Name des Künstlers) und category ("R&B", "Pop", "Klassik", "Andere" ). Beide werden Strings sein. Die MusicVideo Klasse wird ihren eigenen Konstruktor und ihre eigene show() Methode benötigen. Hier ist die Superklasse:


class VideoTape
{
  String  title;    // Titel des Videos
  int     length;   // Anzahl der Minuten
  boolean avail;    // ist das Video vorhanden?

  // Konstruktor
  public VideoTape( String ttl, int lngth )
  {
    title = ttl; length = lngth; avail = true;
  }

  public void show()
  {
    System.out.println( title + ", " + length + " Min. verfuegbar:" + avail );
  }

}

Die neue Klasse sieht folgendermaßen aus:

class ______________ extends _________________
{
  String  ______________;     //  der Künstler
  String  ______________;     //  die Musikkategorie

  // hier kommt der Konstruktor (fürs erste ausgelassen)

  // die show() Methode kommt hier (fürs erste ausgelassen)

}

FRAGE 17:

Füllen Sie die Lücken aus. Fürs erste, lassen Sie den Konstruktor und die show() Methode aus.