Implementieren Sie das Klassendiagramm als Sourcecode.
BankAccount
als Python-Code.Beim Lösen der Programmieraufgaben orientieren wir uns am TDD (test driven development). Die nötigen Testfälle werden durch die Lehrpersonen in Ihrem GitHub Repository bereitgestellt.
Sie finden weiter unten die genauen Anleitung für das jeweilige Vorgehen. Dieses ist bei der Implementation in allen kommenden Übungen anzuwenden.
Es ist wichtig, dass Sie sich dieses Vorgehen aneignen, da auch die Prüfungen so umgesetzt sind und die erreichte Note durch die Anzahl korrekter Tests gegeben ist.
20 Minuten + Hausaufgabenzeit
Commit und Push auf github
Die Klasse BankAccount beschreibt ein Bankkonto für einen Kunden (Customer
).
Das Konto kann innerhalb eines bestimmten Wertes überzogen werden, d.h. dass auch ein negativer Saldo möglich ist.
balance
gibt den aktuellen Kontostand (Saldo) wieder.overdraft
legt fest, um welchen Betrag das Konto überzogen werden darf, d.h. welcher Minusbetrag möglich ist. (typisch für ein Kreditkonto)customer
ist die Referenz auf ein Objekt der Klasse Customer
.__init__(…)
(der Konstruktor der Klasse BankAccount) initialisiert den Saldo (balance
) auf 0.0 und legt den Überzug (overdraft
) sowie den referenzierten Kunden (customer
) fest.balance()
liefert den aktuellen Saldo des Kontos (kann auch negativ sein).overdraft()
liefert den max. Betrag, um den das Konto überzogen werden darf.customer()
liefert die Referenz zu einem Customer-Objekt.booking(…)
bucht einen Betrag (amount
) ins Konto ein und erhöht somit den Saldo (balance
).get_money(…)
bucht einen Betrag (amount
) vom Konto ab. Dabei darf der Betrag max. so gross sein, dass Saldo + Überzug nicht überschritten werden. Ist der Betrag zu gross, liefert die Methode den Wert 0.0 zurück (= kein Bezug möglich).__init__(…)
) und initialisieren Sie die Attribute gemäss Beschreibung.@property
) für das Attribut balance
und testen Sie dies mit der Testmethode test_initial_balance
in der Datei test_BankAccount_class.py
.overdraft
und testen Sie diese mit test_initial_overdraft
. customer
und testen Sie diese mit test_customer
. booking(…)
gemäss der Beschreibung. Testen Sie die Methode mit test_booking
.get_money(…)
gemäss der Beschreibung. Achten Sie darauf, wie der angeforderte Betrag bezüglich Saldo (balance
) und Überzug (overdraft
) geprüft werden muss.test_get_money_available
für einen korrekten Bezug.test_get_money_not_avaiable
für einen nicht gültigen Bezug.test_get_money_overdraft
für einen Bezug innerhalb der Kredit-Limite.test_balance_after_transaction
für die Kontrolle des Saldos.GitHub Repository https://github.com/templates-python/m320-lu02-a03-bankaccount
Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden