Klasse BankAccount
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 21 von 56.
Aufgabe
In diesem Projekt werden wir eine BankAccount-Klasse von Grund auf neu erstellen, um das Bankkonto eines Kunden zu verwalten.
Ihre erste Aufgabe besteht darin, eine Klasse namens BankAccount zu erstellen mit:
- Constructor, der zwei Parameter entgegennimmt:
accountHolder(String): Der Name des KontoinhabersinitialBalance(Number, optional): Startguthaben (Standardwert ist 0)
- Methode
<strong>getBalance()</strong>, welche:- Den aktuellen Kontostand zurückgibt
- Keine Parameter benötigt
- Methode
<strong>getAccountInfo()</strong>, die:- Einen formatierten String zurückgibt:
"${accountHolder}: ${balance}" - Beispiel: Wenn accountHolder "John" ist und balance 500 ist, wird
"John: $500"zurückgegeben
- Einen formatierten String zurückgibt:
Probier es selbst
// TODO: Erstelle eine Klasse namens BankAccount
// TODO: Füge einen Konstruktor hinzu, der zwei Parameter entgegennimmt: accountHolder und initialBalance (Standardwert 0)
// TODO: Füge eine Methode getBalance() hinzu, die den aktuellen Kontostand zurückgibt
// TODO: Füge eine Methode getAccountInfo() hinzu, die einen formatierten String zurückgibt: "${accountHolder}: $${balance}"
// Test
const testAccount = new BankAccount('Alex Johnson', 500);
console.log('Initial state:');
console.log(testAccount.getAccountInfo()); // "Alex Johnson: $500"
console.log('Balance:', testAccount.getBalance()); // 500Alle 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