OOP Intermediate 16 min

Interfaces & Generics

Interfaces beschreiben, was ein Typ können muss. Generics machen Code wiederverwendbar, ohne Typsicherheit zu verlieren.

01 Lesson

Interface: ein Vertrag

Ein Interface sagt: Jede Klasse, die mich implementiert, muss diese Methoden haben.

interface.ems
public interface IRunnable {
    public Void run();
}

public class Job implements IRunnable {
    public Job() {
    }

    @Override
    public Void run() {
        println("job running");
    }
}
02 Lesson

Generic: ein Platzhalter-Typ

T ist ein Platzhalter. Beim Benutzen wird daraus zum Beispiel String oder Int.

box.ems
public class Box<T> {
    private T value;

    public Box(T value) {
        this.value = value;
    }

    public T get() {
        return this.value;
    }
}

main() {
    Box<String> box = Box("Emerald");
    println(box.get());
}
03 Lesson

Warum das wichtig ist

Interfaces und Generics sind der Punkt, an dem Emerald von “nette Sprache” zu “brauchbar für große Systeme” wird.

Du kannst Services austauschen, APIs stabil halten und Typen stark prüfen lassen — genau die Stärke, die man aus Java-Projekten kennt.