Menu
Coddy logo textTech

Récapitulatif - Calculs de portefeuille

Fait partie de la section Programmation orientée objet du Journey Lua de Coddy. Leçon 30 sur 70.

challenge icon

Défi

Facile

Construisons une classe Wallet qui rassemble les compétences en surcharge d’opérateurs que tu as acquises dans ce chapitre. Ton portefeuille stockera une somme d’argent et prendra en charge deux opérations clés : combiner des portefeuilles avec + et comparer des portefeuilles avec <code>< et .

Tu organiseras ton code sur deux fichiers :

  • Wallet.lua : définis ta classe Wallet avec un champ amount représentant la somme d’argent qu’elle contient. Inclus un constructeur :new(amount) et implémente deux métaméthodes :
    • __add : additionner deux portefeuilles crée un nouveau portefeuille contenant le total combiné
    • __lt : comparer des portefeuilles détermine lequel contient le moins d’argent
  • main.lua : importe ton module Wallet, crée des instances de portefeuille et montre les deux opérations fonctionnant ensemble.

Tu recevras trois entrées :

  1. La somme du premier portefeuille
  2. La somme du deuxième portefeuille
  3. La somme du troisième portefeuille

Dans ton fichier principal, crée trois portefeuilles avec les sommes données. Ensuite :

  1. Additionne les premier et deuxième portefeuilles pour créer un portefeuille combiné
  2. Affiche la somme du portefeuille combiné
  3. Compare le portefeuille combiné avec le troisième portefeuille en utilisant <code>< et affiche le résultat (true ou false)
  4. Compare le portefeuille combiné avec le troisième portefeuille en utilisant et affiche le résultat (true ou false)

Par exemple, si les entrées sont 50, 30 et 100, la sortie devrait être :

80
true
false

Le premier portefeuille (50) additionné au deuxième portefeuille (30) crée un portefeuille combiné contenant 80. Comme 80 est inférieur à 100, la première comparaison donne true. Comme 80 n’est pas supérieur à 100, la deuxième comparaison donne false.

Essayez vous-même

local Wallet = require('Wallet')

-- Lire l'entrée
local amount1 = tonumber(io.read())
local amount2 = tonumber(io.read())
local amount3 = tonumber(io.read())

-- TODO : Créer trois portefeuilles avec les montants donnés

-- TODO : Additionner le premier et le deuxième portefeuille pour créer un portefeuille combiné

-- TODO : Afficher le montant du portefeuille combiné

-- TODO : Comparer le portefeuille combiné avec le troisième portefeuille en utilisant < et afficher le résultat

-- TODO : Comparer le portefeuille combiné avec le troisième portefeuille en utilisant > et afficher le résultat

Toutes les leçons de Programmation orientée objet

Entraînez-vous par vous-même : Compilateur Lua en ligne