Einzahlungen und Auszahlungen
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 22 von 56.
Aufgabe
Als Nächstes fügen wir Ihrer BankAccount-Klasse Transaktionsfunktionen hinzu, indem wir die Methoden deposit() und withdraw() implementieren.
Ihre Aufgabe ist es, diese zwei neuen Methoden zur BankAccount-Klasse hinzuzufügen:
1. <strong>deposit(amount)</strong> Methode:
- Prüft, ob der
amountpositiv ist (größer als 0) - Wenn gültig:
- Addiert den Betrag zum Kontostand (balance)
- Loggt exakt:
Deposited ${amount}
- Wenn ungültig: Loggt exakt:
Invalid deposit amount
2. <strong>withdraw(amount)</strong> Methode:
- Prüft, ob der
amountpositiv UND kleiner oder gleich dem aktuellen Kontostand (balance) ist - Wenn gültig:
- Subtrahiert den Betrag vom Kontostand (balance)
- Loggt exakt:
Withdrew ${amount}
- Wenn ungültig: Loggt exakt:
Invalid withdrawal amount or insufficient funds
Probier es selbst
import { BankAccount } from './bankAccount.js';
// Teste die Implementierung
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
testAccount.deposit(200); // Protokolliert: "Deposited $200"
console.log('New balance:', testAccount.getBalance()); // 700
testAccount.deposit(-50); // Protokolliert: "Invalid deposit amount"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
testAccount.withdraw(100); // Protokolliert: "Withdrew $100"
console.log('New balance:', testAccount.getBalance()); // 600
testAccount.withdraw(800); // Protokolliert: "Invalid withdrawal amount or insufficient funds"
console.log('Balance unchanged:', testAccount.getBalance()); // 600
Alle Lektionen in Objektorientierte Programmierung
1Objekte & das this-Schlüsselwort
Kurze Wiederholung: ObjekteMethoden zu Objekten hinzufügenDas this-Schlüsselwort verstehenKonstruktorfunktionenDas new-SchlüsselwortWiederholungs-Challenge7Vererbung & das extends-Schlüsselwort
VererbungDie „ist-ein“-BeziehungDas extends-SchlüsselwortDie super()-MethodeVererben von Eigenschaften & MethodenWiederholungs-Challenge10Polymorphie
Was ist Polymorphie?Geerbte Methoden überschreibenVerwendung von superWiederholungs-Challenge13Komposition vs. Vererbung
Die "hat-ein"- vs. "ist-ein"-BeziehungDie Grenzen tiefer VererbungObjekte zusammenbauen2Code organisieren
Was sind Module?Exportieren mit exportImportieren mit importDefault- vs. benannte Exports5Kapselung & Zugriff
KapselungÖffentliche & private KlassenfelderPrivate MethodenWiederholungs-Herausforderung8OOP-Code strukturieren
Klassen in Modulen organisieren11Projekt: Ein Shape-Renderer
Setup: Shape-Klasse & ExportCircle-Klasse: Vererbung14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit Komposition3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und Auszahlungen9Statische Methoden & Eigenschaften
Klassenebene vs. InstanzebeneStatische EigenschaftenStatische HilfsmethodenWiederholungs-Challenge12Getter & Setter
Die Schlüsselwörter get und setBerechnete EigenschaftenValidierung und SeiteneffekteWiederholungs-Challenge15Abschluss-Herausforderungen
Spielfiguren-BuilderE-Commerce ProduktsystemUniversitäts-VerwaltungssystemSmart-Home-Gerätesystem