Interfaces
Aus FI-Wiki
Interfaces
Ein Interface beschreibt eine reine Schnittstelle. Es definiert, was ein Objekt kann, aber nicht wie.
Interfaces enthalten nur Methodenköpfe (ab Java 8 auch Default- und static-Methoden). Eine Klasse, die ein Interface implementiert, verpflichtet sich, alle Methoden zu definieren.
Eigenschaften
- Wird mit dem Schlüsselwort interface deklariert
- Methoden sind standardmäßig public und abstrakt
- Wird mit implements eingebunden
- Eine Klasse kann mehrere Interfaces implementieren
Beispiel: Interface
interface Bewegbar {
void bewege();
}
Beispiel: Implementierende Klassen
class Auto implements Bewegbar {
@Override
public void bewege() {
System.out.println("Auto fährt");
}
}
class Fahrrad implements Bewegbar {
@Override
public void bewege() {
System.out.println("Fahrrad rollt");
}
}
Verwendung
Bewegbar b1 = new Auto();
Bewegbar b2 = new Fahrrad();
b1.bewege(); // Auto fährt
b2.bewege(); // Fahrrad rollt
Vorteil von Interfaces
- Erlauben Polymorphie über verschiedene Klassen hinweg
- Trennen Schnittstelle und Implementierung
- Ermöglichen gemeinsame Behandlung sehr unterschiedlicher Objekte
