Menu
Coddy logo textTech

Kontostand abrufen

Teil des Abschnitts Objektorientierte Programmierung der Lua-Journey von Coddy. Lektion 22 von 70.

challenge icon

Aufgabe

Einfach

Deine Digitalbank nimmt wirklich Gestalt an! Konten können Einzahlungen empfangen und Abhebungen mit einer ordnungsgemäßen Guthabenprüfung durchführen. Fügen wir nun eine Getter-Methode hinzu, um das Guthaben abzurufen, und setzen anschließend alles in einem realistischen Bankszenario zusammen.

Du baust weiterhin auf deinen vorhandenen Dateien auf:

  • Account.lua: Füge eine :getBalance()-Methode hinzu, die das aktuelle Guthaben zurückgibt. Dies folgt dem Getter-Muster, das du zuvor kennengelernt hast: kontrollierten Zugriff auf interne Daten zu ermöglichen, anstatt direkt auf das Feld zuzugreifen. Behalte alle deine vorhandenen Funktionen bei (Konstruktor sowie Einzahlungs- und Abhebungsmethoden).
  • main.lua: Erstelle ein Konto und führe eine Reihe von Bankoperationen durch, um zu zeigen, wie Einzahlungen, Abhebungen und Guthabenprüfungen in einem realistischen Szenario zusammenwirken.

Du erhältst fünf Eingaben:

  1. Anfänglicher Einzahlungsbetrag
  2. Erster Abhebungsbetrag
  3. Zweiter Einzahlungsbetrag
  4. Zweiter Abhebungsbetrag
  5. Dritter Abhebungsbetrag

Erstelle in deiner Hauptdatei ein Konto und führe diese Operationen in der angegebenen Reihenfolge durch:

  1. Zahle den Anfangsbetrag ein und gib anschließend das Guthaben mit :getBalance() aus
  2. Hebe den ersten Betrag ab und gib anschließend das Guthaben aus
  3. Zahle den zweiten Betrag ein und gib anschließend das Guthaben aus
  4. Hebe den zweiten Betrag ab und gib anschließend das Guthaben aus
  5. Versuche, den dritten Betrag abzuheben, und gib anschließend das Guthaben aus

Denke daran, dass fehlgeschlagene Abhebungen Insufficient funds ausgeben, bevor du das Guthaben ausgibst.

Wenn die Eingaben beispielsweise 200, 50, 100, 180 und 100 lauten, sollte die Ausgabe folgendermaßen aussehen:

200
150
250
70
Insufficient funds
70

Das Konto beginnt mit 200, sinkt nach der ersten Abhebung auf 150, steigt nach einer weiteren Einzahlung auf 250, fällt nach der Abhebung von 180 auf 70 und bleibt bei 70, als die abschließende Abhebung von 100 wegen unzureichenden Guthabens fehlschlägt.

Probier es selbst

-- Account-Modul einbinden
local Account = require('Account')

-- Die fünf Eingaben einlesen
local initialDeposit = tonumber(io.read())
local withdrawal1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local withdrawal2 = tonumber(io.read())
local withdrawal3 = tonumber(io.read())

-- Ein einzelnes Konto erstellen
local account = Account:new()

-- Den Anfangsbetrag einzahlen und Kontostand mit :getBalance() ausgeben
account:deposit(initialDeposit)
print(account:getBalance())

-- Erste Abhebung versuchen und Kontostand ausgeben
account:withdraw(withdrawal1)
print(account:getBalance())

-- Den zweiten Betrag einzahlen und Kontostand ausgeben
account:deposit(deposit2)
print(account:getBalance())

-- Zweite Abhebung versuchen und Kontostand ausgeben
account:withdraw(withdrawal2)
print(account:getBalance())

-- Dritte Abhebung versuchen und Kontostand ausgeben
account:withdraw(withdrawal3)
print(account:getBalance())

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Lua-Compiler