Menu
Coddy logo textTech

Projekt-Setup

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

challenge icon

Aufgabe

Einfach

Lass 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 Basis-Klasse Shape.

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

  • Shape.lua: Definiere eine Basis-Klasse Shape unter Verwendung des Prototyp-Musters. Jede Form hat ein name Attribut (wie "Circle" oder "Rectangle"). Implementiere einen :new(name) Konstruktor, der den Namen der Form entgegennimmt, und eine :getName() Methode, die diesen zurückgibt.
  • main.lua: Erwecke deine Shape-Klasse zum Leben, indem du das Modul mit require 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 Basis-Klasse wird in den kommenden Lektionen als Elternklasse für spezifische Formen wie Rectangle und Circle dienen. Konzentriere dich vorerst darauf, die Klassenstruktur korrekt aufzubauen – 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

-- Binde das Shape-Modul ein
local Shape = require('Shape')

-- Lies den Namen der Form aus der Eingabe
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