next up previous contents index
Next: Ausnahmen (Exceptions) Up: Ein Streifzug durch Java Previous: Erweitern von Klasssen: Vererbung

Schnittstellen (interfaces)

     

Reine Beschreibung des Entwurfs von Objekten. Vollständig abstrahiert von der Implementierung.

Entspricht abstrakten Klassen (ohne Attribute) in anderen OO-Sprachen.

Der Entwerfer von Schnittstellen spezifiziert, welche Methoden von Klassen, die die Schnittstelle implementieren, bereitgestellt werden.    

   interface ersetzbar
   { // für ersetzbare Objekte läßt sich
     // eine Ersatzteilnummer ermitteln:
     int ersatzteilnummer(String Name);
   }

Java-Klassen können mehrere Schnittstellen implementieren:

   class Motor 
   implements ersetzbar, identifizierbar
   { ...
   }

Schnittstellen können wie Klassen verwendet werden:

   // Bestelle beim Großhändler alle
   // benötigten Ersatzteile
   pubic static void 
     ersatzteilorder(ersetzbar[] kaputt)
   { ...
   }

Schnittstellen können andere Schnittstellen erweitern (auch mehrere):

   interface druckbarundspeicherbar
     extends druckbar, speicherbar
   { boolean aktuelleversiongedruckt();
   }

Interfaces erweitern die Möglichkeiten der Polymorphie:

Die Obertypen einer Klasse T     umfassen

1.
den Typ, den T erweitert (extends)
2.
die Typen, die T implementiert (implements)
3.
die Obertypen der Typen aus [1.] und [2.].

  Ein Objekt vom Typ T darf überall dort verwendet werden, wo Obertypen von T zulässig sind.


next up previous contents index
Next: Ausnahmen (Exceptions) Up: Ein Streifzug durch Java Previous: Erweitern von Klasssen: Vererbung

Peter Pfahler, 1997