Menu
Coddy logo textTech

Projekt-Setup

Teil des Abschnitts Object Oriented Programming der Lua-Journey von Coddy — Lektion 55 von 70.

challenge icon

Aufgabe

Einfach

Lassen Sie uns das Fundament für ein Shape Manager-System bauen! Dieses Projekt wird über die nächsten Lektionen hinweg wachsen, daher beginnen wir mit der Einrichtung einer sauberen Dateistruktur mit einer Basisklasse Shape.

Sie werden zwei Dateien erstellen, um Ihren Code zu organisieren:

  • Shape.lua: Definieren Sie eine Basisklasse Shape unter Verwendung des Prototyp-Musters. Jede Form hat ein name-Attribut (wie "Circle" oder "Rectangle"). Fügen Sie einen :new(name)-Konstruktor hinzu, der den Namen der Form akzeptiert, und eine :getName()-Methode, die diesen zurückgibt.
  • main.lua: Erwecken Sie Ihre Shape-Klasse zum Leben, indem Sie das Modul mit require einbinden und eine Shape-Instanz erstellen. Lesen Sie einen Shape-Namen aus der Eingabe ein, erstellen Sie ein Shape mit diesem Namen und geben Sie das Ergebnis des Aufrufs von :getName() aus.

Diese Basisklasse wird in den kommenden Lektionen als Elternklasse für spezifische Formen wie Rectangle und Circle dienen. Konzentrieren Sie sich vorerst darauf, die Klassenstruktur richtig hinzubekommen – das __index-Setup, das Konstruktor-Muster und die Getter-Methode.

Eingabe: Eine einzelne Zeile, die den Namen der Form enthält (ein String).

Ausgabe: Der Name der Form, der von :getName() zurückgegeben wird.

Probier es selbst

-- Shape-Modul einbinden
local Shape = require('Shape')

-- Den Namen der Form von der Eingabe lesen
local shapeName = io.read()

-- TODO: Erstelle eine neue Shape-Instanz mit dem angegebenen Namen

-- TODO: Gib das Ergebnis des Aufrufs von :getName() für deine Form aus

Alle Lektionen in Object Oriented Programming