Schnittstelle
(engl.: interface) beschreibt das extern wahrnehmbare Verhalten von
Modellelementen durch Angabe von Methodensignaturen. Man sagt, dass
die Klasse A die Schnittstelle S implementiert, wenn sie die
Methoden, deren Signatur in S gegeben sind, durch Prozeduren
realisiert. In UML werden Schnittstellen wie Klassen dargestellt; sie
tragen jedoch das Stereotyp «interface». Der Pfeil einer
Klasse zur Schnittstelle sieht aus wie der einer Vererbungsbeziehung,
der Pfeilschaft ist jedoch gestrichelt (Realisierung). Mithilfe von
Schnittstellen können verschiedene Entwickler Verträge
schließen (Entwurf per Vertrag, engl.: design by contract): Der
eine hat die Schnittstelle in seiner Klasse zu implementieren, der
andere nutzt die Methoden, die in der Schnittstelle vereinbart sind.
Eine Klasse kann mehrere Schnittstellen implementieren
(Mehrfachvererbung).