Interfaces: Unterschied zwischen den Versionen

Aus FI-Wiki
Zeile 3: Zeile 3:
Ein '''Interface''' beschreibt eine reine Schnittstelle. Es definiert, '''was ein Objekt kann''', aber nicht '''wie'''.
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.
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 ===
=== Eigenschaften ===

Version vom 27. Oktober 2025, 15:46 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