Menu
Coddy logo textTech

Rückblick – Bankkontoverwaltung

Teil des Abschnitts Objektorientierte Programmierung der Dart-Journey von Coddy. Lektion 22 von 110.

challenge icon

Aufgabe

Einfach

Lass uns ein Bankkontoverwaltungssystem erstellen, das alle Konzepte zu Klasseneigenschaften zusammenführt, die du in diesem Kapitel gelernt hast. Du erstellst ein System, das die Daten einzelner Konten verfolgt und gleichzeitig bankweite Statistiken verwaltet.

Du organisierst deinen Code in zwei Dateien:

  • bank_account.dart: Definiere eine BankAccount-Klasse, die einzelne Konten verwaltet und die Gesamtstatistiken der Bank verfolgt. Deine Klasse sollte Folgendes enthalten:
    • Ein final String accountNumber, das nach der Erstellung nicht geändert werden kann
    • Ein String holderName für den Namen des Kontoinhabers
    • Ein privates double _balance-Feld, das mit 0.0 beginnt
    • Ein static int totalAccounts, das mit 0 beginnt, um zu verfolgen, wie viele Konten existieren
    • Ein static double totalDeposits, das mit 0.0 beginnt, um alle bei der Bank getätigten Einzahlungen zu verfolgen
    • Einen Konstruktor, der accountNumber und holderName übernimmt und totalAccounts erhöht
    • Einen Getter balance, der den aktuellen Kontostand zurückgibt
    • Eine deposit(double amount)-Methode, die den Kontostand nur erhöht, wenn der Betrag positiv ist, und bei Erfolg außerdem totalDeposits erhöht
    • Eine withdraw(double amount)-Methode, die den Kontostand nur verringert, wenn der Betrag positiv ist und den aktuellen Kontostand nicht überschreitet
    • Eine displayInfo()-Methode, die die Kontodetails ausgibt
    • Eine statische Methode getBankStats(), die eine Zeichenkette mit den bankweiten Statistiken zurückgibt
  • main.dart: Importiere deine Bankkontoklasse und demonstriere das System:
    • Erstelle ein Konto mit der Nummer 'ACC001' für 'Alice'
    • Erstelle ein Konto mit der Nummer 'ACC002' für 'Bob'
    • Zahle 500.0 auf Alices Konto ein
    • Zahle 300.0 auf Bobs Konto ein
    • Hebe 150.0 von Alices Konto ab
    • Versuche, 1000.0 von Bobs Konto abzuheben (sollte ignoriert werden – unzureichendes Guthaben)
    • Versuche, -50.0 auf Alices Konto einzuzahlen (sollte ignoriert werden – negativer Betrag)
    • Rufe displayInfo() für Alices Konto und anschließend für Bobs Konto auf
    • Gib die Bankstatistiken mit BankAccount.getBankStats() aus

Die Methode displayInfo() sollte in diesem Format ausgeben:

Account [accountNumber] | Holder: [holderName] | Balance: $[balance]

Die Methode getBankStats() sollte Folgendes zurückgeben:

Bank Stats - Total Accounts: [totalAccounts] | Total Deposits: $[totalDeposits]

Erwartete Ausgabe:

Account ACC001 | Holder: Alice | Balance: $350.0
Account ACC002 | Holder: Bob | Balance: $300.0
Bank Stats - Total Accounts: 2 | Total Deposits: $800.0

Probier es selbst

import 'bank_account.dart';

void main() {
  // TODO: Erstelle ein Konto mit der Nummer 'ACC001' für 'Alice'
  
  // TODO: Erstelle ein Konto mit der Nummer 'ACC002' für 'Bob'
  
  // TODO: Zahle 500.0 auf das Konto von 'Alice' ein
  
  // TODO: Zahle 300.0 auf das Konto von 'Bob' ein
  
  // TODO: Hebe 150.0 vom Konto von 'Alice' ab
  
  // TODO: Versuche 1000.0 vom Konto von 'Bob' abzuheben (sollte ignoriert werden)
  
  // TODO: Versuche -50.0 auf das Konto von 'Alice' einzuzahlen (sollte ignoriert werden)
  
  // TODO: Rufe displayInfo() für das Konto von 'Alice' auf
  
  // TODO: Rufe displayInfo() für das Konto von 'Bob' auf
  
  // TODO: Gib die Bankstatistiken mit BankAccount.getBankStats() aus
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Dart-Compiler