Menu
Coddy logo textTech

Récapitulatif - Calculs de portefeuille

Fait partie de la section Object Oriented Programming du Journey Lua de Coddy — leçon 30 sur 70.

challenge icon

Défi

Facile

Construisons une classe Wallet qui rassemble les compétences de surcharge d'opérateurs que vous avez apprises dans ce chapitre. Votre 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 .

Vous organiserez votre code sur deux fichiers :

  • Wallet.lua : Définissez votre classe Wallet avec un champ amount représentant la somme d'argent qu'il contient. Incluez un constructeur :new(amount) et implémentez deux métaméthodes :
    • __add : L'ajout de deux portefeuilles crée un nouveau portefeuille contenant le total combiné
    • __lt : La comparaison de portefeuilles détermine lequel contient le moins d'argent
  • main.lua : Importez votre module Wallet, créez des instances de portefeuille et démontrez le fonctionnement des deux opérations ensemble.

Vous recevrez trois entrées :

  1. Le montant du premier portefeuille
  2. Le montant du deuxième portefeuille
  3. Le montant du troisième portefeuille

Dans votre fichier principal, créez trois portefeuilles avec les montants donnés. Ensuite :

  1. Additionnez le premier et le deuxième portefeuille pour créer un portefeuille combiné
  2. Affichez le montant du portefeuille combiné
  3. Comparez le portefeuille combiné avec le troisième portefeuille en utilisant <code>< et affichez le résultat (true ou false)
  4. Comparez le portefeuille combiné avec le troisième portefeuille en utilisant et affichez 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) plus le deuxième portefeuille (30) crée un portefeuille combiné de 80. Comme 80 est inférieur à 100, la première comparaison est true. Comme 80 n'est pas supérieur à 100, la deuxième comparaison est 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 Object Oriented Programming