Méthode de dépôt
Fait partie de la section Programmation orientée objet du Journey Lua de Coddy — leçon 20 sur 70.
Défi
FacileNous commençons maintenant le projet Digital Bank. Il est temps d'ajouter des fonctionnalités à votre nouveau système ! Maintenant que les comptes peuvent être créés avec un solde initial de 0, donnons-leur la possibilité de recevoir de l'argent grâce aux dépôts.
En vous appuyant sur votre classe Account existante, vous allez ajouter une méthode :deposit(amount) qui augmente le solde du compte du montant spécifié. C'est une opération bancaire fondamentale : l'argent entre, et le solde augmente !
Vos deux fichiers :
Account.lua: Étendez votre classe Account en ajoutant une méthode:deposit(amount). Cette méthode doit ajouter le montant donné àself.balance. Conservez tout ce qui provient de la leçon précédente (la structure de la classe et le constructeur:new()).main.lua: Importez votre module Account avecrequire, créez un compte, effectuez des dépôts et affichez l'évolution du solde.
Vous recevrez trois entrées :
- Premier montant de dépôt
- Deuxième montant de dépôt
- Troisième montant de dépôt
Dans votre fichier principal, créez un seul compte et effectuez les trois dépôts dans l'ordre. Après chaque dépôt, affichez le solde actuel sur une nouvelle ligne.
Par exemple, si les entrées sont 100, 50 et 25, la sortie doit être :
100
150
175Remarquez comment chaque dépôt s'ajoute au solde précédent : le compte commence à 0, puis passe à 100 après le premier dépôt, 150 après le deuxième, et 175 après le troisième. Votre méthode :deposit() permet cette accumulation !
Essayez vous-même
-- Charger le module Account
local Account = require('Account')
-- Lire les trois montants de dépôt
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())
-- Créer un seul compte
local account = Account:new()
-- Effectuer les trois dépôts et afficher le solde après chacun
-- TODO: déposer deposit1 et afficher account.balance
-- TODO: déposer deposit2 et afficher account.balance
-- TODO: déposer deposit3 et afficher account.balance
Toutes les leçons de Programmation orientée objet
1Le concept de « self »
Tables avec fonctions« self » expliciteLa syntaxe avec deux-pointsPoint vs deux-pointsRécapitulatif - Point mobile4Projet : Banque numérique
Configuration du projetMéthode de dépôt7Polymorphisme et Redéfinition
Redéfinition de méthodesAppeler des méthodes parentesDuck TypingInterface communeVérification du typeRécapitulatif - Rôles des employés10Projet : Gestionnaire de formes
Configuration du projetClasse RectangleClasse CercleMéthode PérimètreCollection de formesAire totaleFiltrer les formes2Modèle de prototype de classe
Le concept de prototypeLiaison avec __indexLe constructeur :new()Initialisation des attributsInstances indépendantesRécapitulatif - Usine de voitures5Surcharge d'opérateurs en POO
Additionner des objetsSoustraire des objetsConcaténer des objetsComparer des objets (<, >)Récapitulatif - Calculs de portefeuille8Encapsulation
Conventions de nommageClosures pour la confidentialitéAccès via les ClosuresTables en lecture seuleLogique de validationRécapitulatif - Coffre-fort sécurisé11Patrons de conception (Lite)
Fonctions FactoryTable SingletonPatron IteratorObserver (Écouteur)Récapitulatif - Logger Factory3État et comportement des objets
Variables d'instanceMéthodes GetterMéthodes SetterPropriétés calculéesFormatage de chaînesVérifications d'égalitéRécapitulatif - Note de l'étudiant6Bases de l'héritage
Mise en place de l'héritageHériter des méthodesÉtendre le constructeurAjouter des méthodes enfantsPartagé vs UniqueRécapitulatif - Hiérarchie des formes