Table of Contents

Interfaces

Unterschied zu Superklassen

Mehrfachvererbung

Im Gegensatz zu Klassen können Interfaces mehrfach implementiert werden, wodurch eine Flexibilität entsteht, die Superklassen nicht bieten.

Superklassen sind ideal, wenn es um Code-Wiederverwendung geht, während Interfaces zur Definition von Verhalten verwendet werden.

Methoden

Attri

bute

Falls überhaupt, bringt ein Interface nur Attribute mit folgenden Eigenschaften mit:

Die sonst üblichen Attribute müssen in der jeweiligen Klasse implementiert werden.

Verwendung

Interfa ces verwe nden das Schlüsselwort interface.

Eine Klasse, die das Interface implementiert, verwendet das Schlüsselwort implements.

// Definition des Interface
public interface Saeugetier{
 
    // Deklarierung von Konstanten (public, static, final muss nicht explizit angegeben werden!)
    // Wichtig: Muss initialisiert werden
    public boolean HATLUNGE= true; 
 
    // Methoden ohne Implementierung
    void sound(); // kein Methodenkoerper
    void sleep(); // auch kein Methodenkoerper
}
Eine Klasse, die ein Interface implementiert verwendet - wer hätte es gedacht - das Schlüsselwort implements.

// Klasse Dog implementiert das Interface Saeugetier
class Dog implements Saeugetier{
    // Implementierung der Methoden des Interface
    public void sound() {
        System.out.println("Der Hund bellt");
    }
    public void sleep() {
        System.out.println("Der Hund schläft");
    }
}
Und noch eine Klasse, die das Interface mithilfe des Schlüsselworts implements implementiert.

// Klasse Cat implementiert ebenfalls das Interface Saeugetier
class Cat implements Saeugetier{
    // Implementierung der Methoden des Interface
    public void sound() {
        System.out.println("Die Katze miaut");
    }
    public void sleep() {
        System.out.println("Die Katze schläft");
    }
}

UML