Menu
Coddy logo textTech

Zusammenfassung – Bankkonto-Manager

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

challenge icon

Aufgabe

Einfach

Lassen Sie uns ein Bankkonten-Verwaltungssystem erstellen, das alle Konzepte für Klasseneigenschaften zusammenführt, die Sie in diesem Kapitel gelernt haben. Sie werden ein System erstellen, das individuelle Kontodaten verfolgt und gleichzeitig bankweite Statistiken führt.

Sie werden Ihren Code in zwei Dateien organisieren:

  • bank_account.dart: Definieren Sie eine BankAccount-Klasse, die einzelne Konten verwaltet und die gesamten Bankstatistiken verfolgt. Ihre Klasse sollte Folgendes enthalten:
    • Ein final String accountNumber, das sich nach der Erstellung nicht mehr ändern kann
    • Ein String holderName für den Namen des Kontoinhabers
    • Ein privates double _balance-Feld, das bei 0.0 beginnt
    • Ein static int totalAccounts, das bei 0 beginnt, um zu verfolgen, wie viele Konten existieren
    • Ein static double totalDeposits, das bei 0.0 beginnt, um alle Einzahlungen in der gesamten Bank zu verfolgen
    • Einen Konstruktor, der accountNumber und holderName entgegennimmt und totalAccounts erhöht
    • Einen Getter balance, der den aktuellen Kontostand zurückgibt
    • Eine deposit(double amount)-Methode, die den Betrag nur dann zum Kontostand addiert, wenn der Betrag positiv ist, und bei Erfolg auch zu totalDeposits addiert
    • Eine withdraw(double amount)-Methode, die den Betrag nur dann vom Kontostand abzieht, wenn der Betrag positiv ist und den aktuellen Kontostand nicht überschreitet
    • Eine displayInfo()-Methode, welche die Kontodetails ausgibt
    • Eine statische Methode getBankStats(), die einen String mit den bankweiten Statistiken zurückgibt
  • main.dart: Importieren Sie Ihre Bankkonto-Klasse und demonstrieren Sie das System:
    • Erstellen Sie ein Konto mit der Nummer 'ACC001' für 'Alice'
    • Erstellen Sie ein Konto mit der Nummer 'ACC002' für 'Bob'
    • Zahlen Sie 500.0 auf Alices Konto ein
    • Zahlen Sie 300.0 auf Bobs Konto ein
    • Heben Sie 150.0 von Alices Konto ab
    • Versuchen Sie, 1000.0 von Bobs Konto abzuheben (sollte ignoriert werden - unzureichende Deckung)
    • Versuchen Sie, -50.0 auf Alices Konto einzuzahlen (sollte ignoriert werden - negativer Betrag)
    • Rufen Sie displayInfo() für Alices Konto und dann für Bobs Konto auf
    • Geben Sie die Bankstatistiken mit BankAccount.getBankStats() aus

Die displayInfo()-Methode sollte in diesem Format drucken:

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

Die getBankStats()-Methode 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