diff --git a/Test.py b/Test.py new file mode 100644 index 0000000..da8ad1a --- /dev/null +++ b/Test.py @@ -0,0 +1,107 @@ +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()