Zurück zu Java

Java

Advanced OOP

Abstrakte Klassen, Enums und Records ergänzen den OOP-Werkzeugkasten für sauberere Modelle.

Abstrakte Klassen

abstract-Klassen können nicht direkt instanziert werden — sie sind Basis für Unterklassen.

Sie mischen fertige Methoden mit abstrakten, die Unterklassen ausfüllen müssen.

<abstract>
Abstrakte Basis
public abstract class Aufgabe {
    public abstract boolean prüfen(String eingabe);

    public void bewerten(String eingabe) {
        System.out.println(prüfen(eingabe) ? "Richtig!" : "Falsch");
    }
}

Enums

Ein enum definiert eine feste Menge benannter Werte — typsicher statt magischer Strings.

Enums funktionieren perfekt mit switch.

<enum>
Enum
public enum Schwierigkeit {
    LEICHT, MITTEL, SCHWER
}

Schwierigkeit stufe = Schwierigkeit.MITTEL;

Records

record erzeugt eine unveränderliche Datenklasse mit Konstruktor, Gettern, equals und toString — in einer Zeile.

Ideal für Werte-Objekte wie Ergebnisse oder Koordinaten.

<record>
Record
public record QuizErgebnis(String modul, int punkte, int gesamt) {}

var ergebnis = new QuizErgebnis("java", 8, 10);
ergebnis.punkte(); // 8

Fortschritt

Markiere die Lektion als abgeschlossen, um XP und Streak zu erhalten.