Dépôts et retraits
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 22 sur 56.
Défi
Ensuite, nous ajoutons des fonctionnalités de transaction à votre classe BankAccount en implémentant les méthodes deposit() et withdraw().
Votre tâche consiste à ajouter ces deux nouvelles méthodes à la classe BankAccount :
1. Méthode <strong>deposit(amount)</strong> :
- Vérifie si le
amountest positif (supérieur à 0) - Si valide :
- Ajoute le montant au solde (balance)
- Affiche exactement dans la console :
Deposited ${amount}
- Si invalide : Affiche exactement dans la console :
Invalid deposit amount
2. Méthode <strong>withdraw(amount)</strong> :
- Vérifie si le
amountest positif ET inférieur ou égal au solde actuel - Si valide :
- Soustrait le montant du solde
- Affiche exactement dans la console :
Withdrew ${amount}
- Si invalide : Affiche exactement dans la console :
Invalid withdrawal amount or insufficient funds
Essayez vous-même
import { BankAccount } from './bankAccount.js';
// Tester l'implémentation
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
testAccount.deposit(200); // Affiche : "Deposited $200"
console.log('New balance:', testAccount.getBalance()); // 700
testAccount.deposit(-50); // Affiche : "Invalid deposit amount"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
testAccount.withdraw(100); // Affiche : "Withdrew $100"
console.log('New balance:', testAccount.getBalance()); // 600
testAccount.withdraw(800); // Affiche : "Invalid withdrawal amount or insufficient funds"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
Toutes les leçons de Programmation Orientée Objet
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe Circle14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec composition3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatif