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 sondern mit class
interface
angelegt. Methoden in Interfaces haben keinen Rumpf.
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.
public class Monitor implements Beobachter
{
public void passiertEreignis()
{
// Auszuführender Code
}
}
Interfaces in Klassendiagrammen
Ein Interface muss mit <<Interface>>
gekennzeichnet sein.
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.