Keller-Dev Docs · Java & Hytale

Java Core

Spezialisierung von Interaktionsobjekten mittels Vererbung

Die Modellierung der Welt-Objekte nutzt eine "ist-ein"-Beziehung (is-a). Ein NPC erweitert InteractableObject. Details:Vererbung gemeinsamer Attribute: Gitterposition (tileRow, tileCol) wird von InteractableObject bereitgestellt und muss nicht im NPC erneut angelegt werden. Polymorphie (@Override): Während das Basis-Objekt nur eine Standardaktion/Testausgabe besitzt, überschreibt der NPC die Methode interact(), um die spezifische Logik (Dialog in DialogBox anzeigen) bereitzustellen.

Referenz: Datei 1. Spielprojekt · Klasse NPC, InteractableObject
public class NPC extends InteractableObject {
    private final String name;
    private final String dialogText;
    private final DialogBox dialogBox;

    public NPC(int tileRow, int tileCol, String name, String dialogText, DialogBox dialogBox) {
        super(tileRow, tileCol);
        this.name = name;
        this.dialogText = dialogText;
        this.dialogBox = dialogBox;
    }

    @Override
    public void interact() {
        dialogBox.show(name + ": " + dialogText);
    }
}
#op #inheritance #polymorphic-design #game-entities
Bearbeiten