Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Konto:
- def __init__(self, stan_konta=0):
- self.__stan_konta = stan_konta
- def get_stan_konta(self):
- if self.__stan_konta <= 0:
- print("Brak kasy")
- return self.__stan_konta
- def wplata(self, kwota):
- self.__stan_konta = self.__stan_konta + kwota
- def wyplata(self, kwota):
- if self.__stan_konta >= 0:
- self.__stan_konta = self.__stan_konta - kwota
- else:
- return "Brak kasy"
- from Konto import Konto
- class KontoBankowe(Konto):
- def __init__(self, nazwisko, stan_konta=0):
- super().__init__(stan_konta)
- self.__nazwisko = nazwisko
- def get_nazwisko(self):
- return self.__nazwisko
- from Konto import Konto
- from KontoBankowe import KontoBankowe
- class KontoOsobiste(KontoBankowe):
- def __init__(self, min_stan_konta, nazwisko, stan_konta):
- super().__init__(nazwisko, stan_konta)
- self.__min_stan_konta = min_stan_konta
- def get_min_stan_konta(self):
- return self.__min_stan_konta
- def wyplata(self, kwota):
- if self.__min_stan_konta <= (self.get_stan_konta() - kwota):
- Konto.wyplata(self, kwota)
- else:
- print("Nie możesz tyle wypłacić")
- from Konto import Konto
- from KontoBankowe import KontoBankowe
- from KontoOsobiste import KontoOsobiste
- class RaportKonta:
- def raport(self):
- if isinstance(self, KontoOsobiste):
- print("RAPORT KONTA OSOBISTEGO")
- print("Stan konta:", self.get_stan_konta(), "zł",
- "\nWłaściciel konta:", self.get_nazwisko(),
- "\nMinimalny stan konta:", self.get_min_stan_konta(), "zł")
- elif isinstance(self, KontoBankowe):
- print("RAPORT KONTA BANKOWEGO")
- print("Stan konta:", self.get_stan_konta(), "zł",
- "\nWłaściciel konta:", self.get_nazwisko())
- elif isinstance(self, Konto):
- print("RAPORT KONTA")
- print("Stan konta:", self.get_stan_konta(), "zł")
- from Konto import Konto
- from KontoBankowe import KontoBankowe
- from KontoOsobiste import KontoOsobiste
- from RaportKonta import RaportKonta
- k = Konto(500)
- kb = KontoBankowe("Kowalski", -20)
- ko = KontoOsobiste(10, "Nowak", 90)
- ko.wyplata(100)
- RaportKonta.raport(ko)
- RaportKonta.raport(kb)
- RaportKonta.raport(k)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement