Interfaces

Interfaces bieten ebenfalls eine Möglichkeit Abstraktion in Programmen zu erreichen. Anders als bei abstrakten Klassen können Interfaces nur Methodensignaturen vorgeben, d.h. jede Klasse die aus einem Interface erbt, oder hier genannt ein Interface implementiert muss dessen Methoden ohne Rumpf überschreiben.

Deklaration eines Interfaces

Ein Interface wird nicht mit class sondern mit interface angelegt. Methoden in Interfaces haben keinen Rumpf.

Beobachter.java
public interface Beobachter
{
    void passiertEreignis();
}

Implementierung eines Interfaces

Klassen die aus einem interface erben, müssen dies im Falle von Java mit implements. Geerbte Methoden müssen überschrieben werden.

Beobachter.java
public class Monitor implements Beobachter
{
    public void passiertEreignis()
    {
       // Auszuführender Code
    }
}

Interfaces in Klassendiagrammen

Ein Interface muss mit <<Interface>> gekennzeichnet sein.

alt

Der Pfeil zeigt anders herum als bei der normalen Vererbung. Da durch das implementieren eines Interfaces die Methoden überschrieben werden müssen, beinhalten die implementierenden Klassen die Methoden ebenfalls.