Aufgabe 13 - Das sichere Konto
Aufgabe 13 - Das sichere Konto
Abschnitt betitelt „Aufgabe 13 - Das sichere Konto“Worum geht es?
Abschnitt betitelt „Worum geht es?“Kapselung praktisch: Ein Bankkonto, dessen Saldo niemand direkt manipulieren kann, sondern nur über kontrollierte Methoden erreicht (siehe Kapitel OOP II - Datenkapselung).
In dieser Übung üben Sie:
- Kapseln: private Felder (
#) einsetzen. - Schützen: Invarianten mit Validierung durchsetzen.
- Anbieten: eine saubere öffentliche Schnittstelle gestalten.
Benötigte Unterlagen
Abschnitt betitelt „Benötigte Unterlagen“- VS Code, Browser-Konsole.
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Teil A - Das Problem zeigen
Abschnitt betitelt „Teil A - Das Problem zeigen“- Schreiben Sie zunächst
KontoUnsichermit öffentlichem Feldsaldo. - Demonstrieren Sie in drei Zeilen, was alles erlaubt ist, aber nicht sein dürfte (negativer Saldo direkt setzen, Text zuweisen, Saldo “vergessen”).
Teil B - Das sichere Konto
Abschnitt betitelt „Teil B - Das sichere Konto“Schreiben Sie Konto mit privatem Feld #saldo und:
einzahlen(betrag): nur positive Beträge; sonst Fehlermeldung, Zustand unverändert.abheben(betrag): nur positive Beträge und nur, wenn gedeckt (kein Überziehen).- Getter
saldo: Lesen erlaubt, Schreiben nicht. Zeigen Sie, dasskonto.saldo = 1000000wirkungslos bleibt bzw. scheitert. #pruefeBetrag(betrag): private Hilfsmethode, die beide öffentlichen Methoden verwenden.
Teil C - Kontoauszug
Abschnitt betitelt „Teil C - Kontoauszug“- Protokollieren Sie intern jede erfolgreiche Buchung (privates Array
#buchungenmit Betrag und Art). auszug(): gibt alle Buchungen und den Endsaldo formatiert aus.- Warum darf
#buchungenauf keinen Fall öffentlich sein? Antwort als Kommentar, mit einem konkreten Missbrauchsbeispiel.
konto.js mit beiden Klassen, einem Demo-Skript (mind. je zwei gültige und ungültige Operationen) und den Antworten.