Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


4.5

Vererbung



Durch Vererbung können Klassen definiert werden, die auf einer anderen Klasse basieren. Hierbei stellen die neuen Klassen eine Erweiterung und Spezialisierung ihrer Oberklasse dar.

Die neue Klasse, die Unterklasse, kann hierbei neue Methoden und Datenelemente hinzufügen oder aber bestehende Methoden überschreiben.

Es soll nun auf der Basis von Point eine Klasse Square definiert werden, die ein Quadrat darstellt (dies ist zwar keine »is-a«-Beziehung im strengen geometrischen Sinne, ist aber als intuitives Beispiel gut geeignet). Ein Quadrat hat einen Bezugspunkt, zum Beispiel die obere linke Ecke. Darüber hinaus besitzt ein Quadrat eine bestimmte Seitenlänge:
  public class Square extends Point {
    int a;
  
    public Square(int x, int y, int color, int a) {
      super(x, y, color);
      this.a = a;
    }
  
    public void resize(int a) {
      this.a = a;
    }
  
    public int area() {
      return a*a;
    }
  
  }
Wenn von einer Klasse eine Unterklasse abgeleitet wird, dann muss die Unterklasse im Kopf ihrer Deklaration das Schlüsselwort extends benutzen. Hinter extends muss genau eine Klasse angegeben werden. Mehrere Klassen können nicht angegeben werden, da es die Mehrfachvererbung im Sinne von C++ in Java nicht gibt.

In der Klasse Square ist nun alles verfügbar, was auch in Point verfügbar ist. Square besitzt daher auch die Datenelemente x und y sowie die Methoden moveTo() und moveRel(). Square fügt dann das Datenelement a für die Seitenlänge, einen Konstruktor sowie die Methode resize() zum Einstellen der Seitenlänge und eine Methode area() hinzu.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.