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…“
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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 ===
Zeile 9: Zeile 9:
* Wird mit dem Schlüsselwort '''interface''' deklariert
* Wird mit dem Schlüsselwort '''interface''' deklariert
* Methoden sind standardmäßig '''public''' und '''abstrakt'''
* Methoden sind standardmäßig '''public''' und '''abstrakt'''
* kann nur Konstanten enthalten, keine Variablen
* Wird mit '''implements''' eingebunden
* Wird mit '''implements''' eingebunden
* Eine Klasse kann mehrere Interfaces implementieren
* Eine Klasse kann mehrere Interfaces implementieren
Zeile 31: Zeile 32:


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>



Aktuelle Version vom 27. Oktober 2025, 15:47 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
  • kann nur Konstanten enthalten, keine Variablen
  • 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