Einzahlungsmethode
Teil des Abschnitts Object Oriented Programming der Lua-Journey von Coddy — Lektion 20 von 70.
Aufgabe
EinfachZeit, Ihrer Digital Bank Funktionalität hinzuzufügen! Nachdem Konten nun mit einem Startguthaben von 0 erstellt werden können, geben wir ihnen die Möglichkeit, Geld durch Einzahlungen zu empfangen.
Aufbauend auf Ihrer bestehenden Account-Klasse fügen Sie eine :deposit(amount)-Methode hinzu, die das Guthaben des Kontos um den angegebenen Betrag erhöht. Dies ist eine grundlegende Bankoperation – Geld geht ein, und das Guthaben wächst!
Ihre zwei Dateien:
Account.lua: Erweitern Sie Ihre Account-Klasse, indem Sie eine:deposit(amount)-Methode hinzufügen. Diese Methode sollte den angegebenen Betrag zuself.balancehinzufügen. Behalten Sie alles aus der vorherigen Lektion bei (die Klassenstruktur und den:new()-Konstruktor).main.lua: Binden Sie Ihr Account-Modul ein, erstellen Sie ein Konto, tätigen Sie einige Einzahlungen und zeigen Sie, wie sich das Guthaben ändert.
Sie erhalten drei Eingaben:
- Erster Einzahlungsbetrag
- Zweiter Einzahlungsbetrag
- Dritter Einzahlungsbetrag
Erstellen Sie in Ihrer Hauptdatei ein einzelnes Konto und führen Sie die drei Einzahlungen nacheinander durch. Geben Sie nach jeder Einzahlung das aktuelle Guthaben in einer neuen Zeile aus.
Wenn die Eingaben beispielsweise 100, 50 und 25 sind, sollte die Ausgabe wie folgt aussehen:
100
150
175Beachten Sie, wie jede Einzahlung auf dem vorherigen Guthaben aufbaut – das Konto beginnt bei 0, wächst dann nach der ersten Einzahlung auf 100, nach der zweiten auf 150 und nach der dritten auf 175. Ihre :deposit()-Methode ermöglicht diese Akkumulation!
Probier es selbst
-- Erfordert das Account-Modul
local Account = require('Account')
-- Einlesen der drei Einzahlungsbeträge
local deposit1 = tonumber(io.read())
local deposit2 = tonumber(io.read())
local deposit3 = tonumber(io.read())
-- Erstellen eines einzelnen Kontos
local account = Account:new()
-- Durchführung der drei Einzahlungen und Ausgabe des Kontostands nach jeder Einzahlung
-- TODO: deposit1 einzahlen und account.balance ausgeben
-- TODO: deposit2 einzahlen und account.balance ausgeben
-- TODO: deposit3 einzahlen und account.balance ausgeben
Alle Lektionen in Object Oriented Programming
1Das 'self'-Konzept
Tabellen mit FunktionenExplizites 'self'Die Doppelpunkt-SyntaxPunkt vs. DoppelpunktZusammenfassung – Beweglicher Punkt4Projekt: Digitale Bank
Projekt-SetupEinzahlungsmethode7Polymorphie & Überschreiben
Methoden überschreibenElternmethoden aufrufenDuck TypingGemeinsames InterfaceTyp prüfenRückblick - Mitarbeiterrollen10Projekt: Formen-Manager
Projekt-SetupRechteck-Klasse2Klassen-Prototyp-Muster
Das Prototyp-KonzeptVerknüpfung mit __indexDer :new()-KonstruktorAttribute initialisierenUnabhängige InstanzenZusammenfassung – Autofabrik5Operatorüberladung in OOP
Objekte addierenObjekte subtrahierenObjekte verkettenObjekte vergleichen (<, >)Rückblick – Wallet-Mathematik3Objektzustand und -verhalten
InstanzvariablenGetter-MethodenSetter-MethodenBerechnete EigenschaftenStrings formatierenGleichheitsprüfungenZusammenfassung – Studentennote6Grundlagen der Vererbung
Das Vererbungs-SetupMethoden vererbenDen Konstruktor erweiternChild-Methoden hinzufügenGemeinsam vs. EinzigartigZusammenfassung - Formen-Hierarchie9Komposition & Mixins
Has-A-BeziehungDelegationEinfache MixinsAnwendung mehrerer MixinsMixins vs. VererbungZusammenfassung – Roboter-Montage12Abschluss-Herausforderungen
Wiederholung - InventarsystemWiederholung - BenutzerverwaltungWiederholung - Score-TrackerFinaler OOP-Check