HubobelsPython/Test.py
2017-06-07 18:22:59 +02:00

107 lines
2.9 KiB
Python

class VerwalteterGeldbetrag:
def __int__(self, kontostand):
self.Betrag = kontostand
def einzahlenMoeglich(self, betrag):
return True
def auszahlenMoeglich(self, betrag):
return True
def einzahlen(self, betrag):
if betrag < 0 or not self.einzahlenMoeglich(betrag):
return False
else:
self.Betrag += betrag
return True
def auszahlen(self, betrag):
if betrag < 0 or not self.auszahlenMoeglich(betrag):
return False
else:
self.Betrag -= betrag
return True
def zeige(self):
print("Betrag: {}".format(self.Betrag))
class AllgemeinesKonto(VerwalteterGeldbetrag):
def __init__(self, kundendaten, kontostand):
super().__init__(kontostand)
self.Kundendaten = kundendaten
def geldtransfer(self, ziel, betrag):
if self.auszahlenMoeglich(betrag) and ziel.einzahlenMoeglich(betrag):
self.auszahlen(betrag)
ziel.einzahlen(betrag)
return True
else:
return False
def zeige(self):
self.Kundendaten.zeige()
VerwalteterGeldbetrag.zeige(self)
class AllgemeinesKontoMitTagesumsatz(AllgemeinesKonto):
def __init__(self, kundendaten, kontostand, max_tagesumsatz=1500):
super().__init__(kundendaten, kontostand)
self.MaxTagesumsatz = max_tagesumsatz
self.UmsatzHeute = 0.0
def transferMoeglich(self, betrag):
return (self.UmsatzHeute + betrag <= self.MaxTagesumsatz)
def auszahlenMoeglich(self, betrag):
return self.transferMoeglich(betrag)
def einzahlenMoeglich(self, betrag):
return self.transferMoeglich(betrag)
def einzahlen(self, betrag):
if AllgemeinesKonto.einzahlen(self, betrag):
self.UmsatzHeute += betrag
return True
else:
return False
def auszahlen(self, betrag):
if AllgemeinesKonto.auszahlen(self, betrag):
self.UmsatzHeute += betrag
return True
else:
return False
def zeige(self):
AllgemeinesKonto.zeige(self)
print("Heute schon {} von {} Euro umgesetzt".format(self.UmsatzHeute, self.MaxTagesumsatz))
class GirokontoKundendaten:
def __init__(self, inhaber, kontonummer):
self.Inhaber = inhaber
self.Kontonummer = kontonummer
def zeige(self):
print("Inhaber:", self.Inhaber)
print("Kontonummer:", self.Kontonummer)
class GirokontoMitTagesumsatz(AllgemeinesKontoMitTagesumsatz):
def __init__(self, inhaber, kontonummer, kontostand, max_tagesumsatz=1500):
kundendaten = GirokontoKundendaten(inhaber, kontonummer)
super().__init__(kundendaten, kontostand, max_tagesumsatz)
k1 = AllgemeinesKontoMitTagesumsatz("Heinz", 12345, 1001.99)
k2 = GirokontoMitTagesumsatz("Lisa", 67891, 2001.99)
# k1.einzahlen(200)
# k1.zeige()
# k2.geldtransfer(k1,200)
# k1.zeige()
# k2.zeige()