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);
}
}