Der Tresor
Lena traut dem Schalter nicht: Sie will ihr Gold im Tresor der Bank haben, tief unter der Erde. Im Array konten wird ihr Konto jetzt mit new TresorKonto("Lena", 75) erzeugt, und die letzte Buchung von heute ist ihre Abhebung.
Ein Tresorkonto funktioniert wie jedes andere, mit zwei Unterschieden. Jede Abhebung kostet tresorGebuehr Gold extra, sie scheitert also, wenn das Konto nicht beides zahlen kann, den Betrag und die Gebühr. Und in der Liste der Konten steht bei einem Tresorkonto hinter seinem Gold (Tresor). Lena hebt 60 Gold ab, was sie 62 kostet, also bleiben 13 übrig:
Kira: 120 Gold
Bruno: 40 Gold
Lena: 75 Gold (Tresor)
Die Bank verwahrt 235 Gold.
Bruno hat 30 Gold eingezahlt. Kontostand: 70
Kira hat 50 Gold abgehoben. Kontostand: 70
Bruno kann 100 Gold nicht abheben: nicht genug Gold
Mira kann 10 Gold nicht einzahlen: kein Konto
Lena hat 60 Gold abgehoben. Kontostand: 13
Kira: 70 Gold
Bruno: 70 Gold
Lena: 13 Gold (Tresor)
Die Bank verwahrt 153 Gold.Ein Tipp: Eine Klasse, die Konto erweitert, erbt alles davon, und sie kann die Methoden überschreiben, die anders funktionieren, und mit super die Version der Elternklasse aufrufen, wie in der Lektion Klassen.
Das ist das ganze Projekt. Deine Bank bewahrt ihr Gold in Objekten auf, die ihre eigenen Regeln bewachen, das Ergebnis jeder Buchung sagt, ob sie geklappt hat und warum nicht, und für eine neue Art von Konto genügte eine kurze Klasse. In der nächsten Lektion, Utility Types, baust du neue Typen aus denen, die du hast. Und dann fügst du im Abschlussprojekt den ganzen Kurs zusammen.
So schreibst du es:
Anweisungen
- 1
Schreibe die Klasse
TresorKonto, sodass Lenas Konto mit(Tresor)aufgelistet wird. - 2
Lass Abhebungen von einem Tresorkonto die Gebühr kosten.