Menu
Coddy logo textTech

Configurazione del progetto

Fa parte della sezione Programmazione orientata agli oggetti del percorso Lua di Coddy. Lezione 55 di 70.

challenge icon

Sfida

Facile

Costruiamo le basi per un sistema di gestione delle forme! Questo progetto crescerà nel corso delle prossime lezioni, quindi inizieremo creando una struttura di file ordinata con una classe base Shape.

Creerai due file per organizzare il codice:

  • Shape.lua: Definisci una classe base Shape usando il pattern prototipo. Ogni forma ha un attributo name (come "Circle" o "Rectangle"). Includi un costruttore :new(name) che accetta il nome della forma e un metodo :getName() che lo restituisce.
  • main.lua: Dai vita alla tua classe Shape richiedendo il modulo e creando un'istanza della forma. Leggi il nome di una forma dall'input, crea una Shape con quel nome e stampa il risultato della chiamata a :getName().

Questa classe base fungerà da classe genitore per forme specifiche come Rectangle e Circle nelle prossime lezioni. Per ora, concentrati sulla struttura corretta della classe: la configurazione di __index, il pattern del costruttore e il metodo getter.

Input: Una singola riga contenente il nome della forma (una stringa).

Output: Il nome della forma restituito da :getName().

Provalo tu

-- Importa il modulo Shape
local Shape = require('Shape')

-- Leggi il nome della forma dall'input
local shapeName = io.read()

-- TODO: Crea una nuova istanza di Shape con il nome specificato

-- TODO: Stampa il risultato della chiamata a :getName() sulla tua forma

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Lua online