81 lines
No EOL
2.9 KiB
Python
81 lines
No EOL
2.9 KiB
Python
class VerwalteterGeldbetrag:
|
|
def __init__(self, anfangsbetrag):
|
|
self.Betrag = anfangsbetrag
|
|
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: {:.2f}".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 {:.2f} von {:.2f} 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 __index__(self, inhaber, kontonummer, kontostand, max_tagesumsatz=1500):
|
|
kundendaten = GirokontoKundendaten(inhaber, kontonummer)
|
|
super().__init__(kundendaten, kontostand, max_tagesumsatz)
|
|
|
|
k1=GirokontoMitTagesumsatz("Carsten", 5678, 1234.78)
|
|
k2=GirokontoMitTagesumsatz("Johanna", 1234, 1000.78)
|
|
k1.geldtransfer(k2, 1000)
|
|
k2.zeige() |