Menu
Coddy logo textTech

Projekt-Setup

Teil des Abschnitts Objektorientierte Programmierung der Lua-Journey von Coddy. Lektion 55 von 70.

challenge icon

Aufgabe

Einfach

Lass uns das Fundament für ein Shape-Manager-System erstellen! Dieses Projekt wird in den nächsten Lektionen wachsen, daher beginnen wir mit einer übersichtlichen Dateistruktur und einer grundlegenden Shape-Klasse.

Du wirst zwei Dateien erstellen, um deinen Code zu organisieren:

  • Shape.lua: Definiere eine grundlegende Shape-Klasse mithilfe des Prototyp-Musters. Jede Form hat ein name-Attribut (wie „Circle“ oder „Rectangle“). Füge einen :new(name)-Konstruktor hinzu, der den Namen der Form entgegennimmt, sowie eine :getName()-Methode, die ihn zurückgibt.
  • main.lua: Erwecke deine Shape-Klasse zum Leben, indem du das Modul einbindest und eine Shape-Instanz erstellst. Lies einen Formnamen aus der Eingabe ein, erstelle eine Shape mit diesem Namen und gib das Ergebnis des Aufrufs von :getName() aus.

Diese Basisklasse wird in den kommenden Lektionen als übergeordnete Klasse für bestimmte Formen wie Rectangle und Circle dienen. Konzentriere dich zunächst darauf, die Klassenstruktur richtig umzusetzen: die __index-Einrichtung, das Konstruktormuster und die Getter-Methode.

Eingabe: Eine einzelne Zeile mit dem Namen der Form (eine Zeichenkette).

Ausgabe: Der von :getName() zurückgegebene Name der Form.

Probier es selbst

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

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

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

-- TODO: Gib das Ergebnis des Aufrufs von :getName() auf deiner Shape aus

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Lua-Compiler