class Konto(): """ Beispiel eines Kontos """ # Statischer Zaehler Anzahl = 0 def __init__(self, inhaber, kontonummer, kontostand): """ Konstruktor, Aufruf bei Instanzierung """ self.__Inhaber = inhaber self.__Kontonummer = kontonummer self.__Kontostand = kontostand Konto.Anzahl += 1 # Instanzzaehler erhoehen def __del__(self): """ Destruktor, Aufruf bei del """ Konto.Anzahl -= 1 def inhaber(self): """ Gibt den Namen des Inhabers zurueck """ print(".. getter wird aufgerufen") return self.__Inhaber def setInhaber(self, neuer_Inhaber): """ Aendert den Namen des Inhabers """ print(".. setter wird aufgerufen") self.__Inhaber = neuer_Inhaber def ueberweisung(self, ziel, betrag): """ Mach einen Ueberweisung """ print(".. Transfer :", self.__Inhaber, "->", ziel.__Inhaber, betrag) self.__Kontostand -= betrag ziel.__Kontostand += betrag def einzahlen(self, betrag): """ Mach eine Einzahlung """ print(".. Einzahlen :", self.__Inhaber, betrag) self.__Kontostand += betrag def auszahlen(self, betrag): """ Mach eine Auszahlung """ print(".. Auszahlen :", self.__Inhaber, betrag) self.__Kontostand -= betrag def zeige_konto(self): """ Zeige die Kontodaten am Bildschirm """ print(".. Konto :", self.__Inhaber) print(" Kontonummer :", self.__Kontonummer) print(" Kontostand :", self.__Kontostand) # Property-Attribut Inhaber = property(inhaber, setInhaber) if __name__ == '__main__': print("\nKontobeispiel mit class & statischen Attributen") # Erzeuge zwei Konto-Objekte k1 = Konto("Heinz Meier", 1234, 12000.0) k2 = Konto("Erwin Schmidt", 6789, 15000.0) k3 = Konto("Susi Jung", 9147, 9000.0) # Anzahl bestehender Konten print(".. Kontoanzahl :", Konto.Anzahl) # Loesche ein Konto print("-> Loesche ") k3.zeige_konto() del(k3) # neue Anzahl print(".. Kontoanzahl :", Konto.Anzahl)