Menu
Coddy logo textTech

Ripasso - Calcoli con il portafoglio

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

challenge icon

Sfida

Facile

Costruiamo una classe Wallet che riunisca le competenze di sovraccarico degli operatori che hai acquisito in questo capitolo. Il tuo portafoglio memorizzerà una somma di denaro e supporterà due operazioni fondamentali: combinare portafogli con + e confrontare portafogli con < e >.

Organizzerai il codice in due file:

  • Wallet.lua: definisci la classe Wallet con un campo amount che rappresenta quanto denaro contiene. Includi un costruttore :new(amount) e implementa due metametodi:
    • __add: sommare due portafogli crea un nuovo portafoglio contenente il totale combinato
    • __lt: confrontare i portafogli determina quale contiene meno denaro
  • main.lua: importa il modulo Wallet, crea istanze di portafoglio e mostra entrambe le operazioni in funzione.

Riceverai tre input:

  1. Importo nel primo portafoglio
  2. Importo nel secondo portafoglio
  3. Importo nel terzo portafoglio

Nel file principale, crea tre portafogli con gli importi indicati. Poi:

  1. Somma il primo e il secondo portafoglio per creare un portafoglio combinato
  2. Stampa l'importo del portafoglio combinato
  3. Confronta il portafoglio combinato con il terzo portafoglio usando < e stampa il risultato (true o false)
  4. Confronta il portafoglio combinato con il terzo portafoglio usando > e stampa il risultato (true o false)

Per esempio, se gli input sono 50, 30 e 100, l'output dovrebbe essere:

80
true
false

Il primo portafoglio (50) più il secondo portafoglio (30) crea un portafoglio combinato con 80. Poiché 80 è minore di 100, il primo confronto è true. Poiché 80 non è maggiore di 100, il secondo confronto è false.

Provalo tu

local Wallet = require('Wallet')

-- Leggi l'input
local amount1 = tonumber(io.read())
local amount2 = tonumber(io.read())
local amount3 = tonumber(io.read())

-- TODO: Crea tre portafogli con gli importi indicati

-- TODO: Somma il primo e il secondo portafoglio per creare un portafoglio combinato

-- TODO: Stampa l'importo del portafoglio combinato

-- TODO: Confronta il portafoglio combinato con il terzo portafoglio usando < e stampa il risultato

-- TODO: Confronta il portafoglio combinato con il terzo portafoglio usando > e stampa il risultato

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Lua online