homedukeOOP mit Java: Erweiterbarkeit um Methoden Prof. Dr. Uwe Schmidt FH Wedel

Erweiterbarkeit um Methoden

weiter

weiter

Neue Methoden

Bestehende Klassen können ohne physikalisches Kopieren um Funktionalität erweitert werden.

Beispiel:

public
class ExtendedStack
  extends SimpleStack {
 
  // der Konstruktor
  // in diesem einfachen Fall ueberfluessig
 
  public
  ExtendedStack() {
      super();  // redundant
  }
 
  //--------------------
  // die zusaetzliche Funktion
 
  public
  int get() {
      int i = top();
      pop();
      return i;
  }
}
weiter
merke
Konstruktoren müssen normalerweise immer in Unterklassen neu implementiert werden, Ausnahme ist der default-Konstruktor.
merke
Bevor die Anweisungen eines Konstruktors ausgeführt werden, werden die Anweisungen eines Konstruktors aus der beerbten Klasse ausgeführt (Schlüsselwort: super).
merke
Wenn kein expliziter Aufruf (super(...)) angegeben wird, werden die Anweisungen des default-Konstruktors der Oberklasse ausgeführt.
merke
Der Beerbungsprozess kann beliebig oft wiederholt werden.

weiter

2. Beerbungsschritt

public
class ExtendedStack2
  extends ExtendedStack {
 
  // die zusaetzliche Funktion
 
  public
  Stack swap() {
    int e1 = get();
    int e2 = get()
 
    push(e1);
    push(e2);
 
    return this;
  }
}

Letzte Änderung: 15.05.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel