Interfaces: Unterschied zwischen den Versionen
Aus FI-Wiki
Die Seite wurde neu angelegt: „== 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 '''abstra…“ |
|||
| Zeile 31: | Zeile 31: | ||
class Fahrrad implements Bewegbar { | class Fahrrad implements Bewegbar { | ||
@Override | @Override | ||
public void bewege() { | public void bewege() { | ||
System.out.println("Fahrrad rollt"); | System.out.println("Fahrrad rollt"); | ||
} | } | ||
} </syntaxhighlight> | } </syntaxhighlight> | ||
Version vom 27. Oktober 2025, 15:45 Uhr
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
