next up previous contents index
Next: Interfaces Up: Vererbung Previous: Die final-Kennzeichnung

Abstrakte Methoden und abstrakte Klassen

  

Eine Methode, von der nur die Signatur und nicht der Rumpf definiert istgif. Erbende Klassen können die Implementierung ``nachliefern''.

abstract class Bench
{ abstract void benchmark();
  public long repeat(int count)
  { long st = System.currentTimeMillis();
    for (int i = 0; i < count; i++)
      benchmark();
    return System.currentTimeMillis() - st;
  }
}

class Benchmark extends Bench
{ void benchmark()
  { // leere Methode
  }
  public static void main (String[] args)
  { int count = Integer.parseInt(args[0]);
    long time = 
       new Benchmark().repeat(count);
    System.out.println(count + 
                       " methods in " + 
                       time + 
                       " milliseconds");
  }
}

Regeln für abstrakte Methoden und Klassen:

Typisches Anwendungsmuster: Eine Klasse bezieht ``Expertenwissen'' oder spezielles Verhalten von ihren Unterklassen.

Das Design der Klasse wird angegeben, nicht aber die (vollständige) Implementierung.

 


next up previous contents index
Next: Interfaces Up: Vererbung Previous: Die final-Kennzeichnung

Peter Pfahler, 1997