Menu
Coddy logo textTech

Riepilogo - Fabbrica di auto

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

challenge icon

Sfida

Facile

Costruiamo una classe Car completa che riunisca tutto ciò che hai imparato in questo capitolo! Creerai un sistema di fabbrica di automobili in cui ogni automobile ha il proprio modello e colore, dimostrando la corretta organizzazione dei moduli e l’indipendenza delle istanze.

Organizzerai il codice in due file:

  • Car.lua: definisci la classe Car seguendo il modello standard basato sui prototipi. La classe deve avere un costruttore :new(model, color) che crea automobili con attributi propri. Includi un metodo :describe() che permette a ogni automobile di presentarsi.
  • main.lua: importa il modulo Car e crea più istanze di automobili per dimostrare che ciascuna mantiene il proprio stato indipendente.

Il metodo :describe() deve stampare in questo formato esatto:

A [color] [model]

Riceverai quattro input:

  1. Modello della prima automobile
  2. Colore della prima automobile
  3. Modello della seconda automobile
  4. Colore della seconda automobile

Nel file principale, crea due automobili usando gli input forniti e fai in modo che ciascuna si presenti su una riga separata.

Per esempio, se gli input sono Sedan, blue, Truck e red, l’output dovrebbe essere:

A blue Sedan
A red Truck

Ogni automobile dovrebbe memorizzare il proprio modello e colore, dimostrando che la classe crea istanze davvero indipendenti.

Provalo tu

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

-- Leggi gli input
local model1 = io.read()
local color1 = io.read()
local model2 = io.read()
local color2 = io.read()

-- TODO: Crea due istanze di auto usando Car:new()
-- TODO: Chiama :describe() su ciascuna auto per stamparne le descrizioni

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Lua online