Klasse Klant

Een bedrijf houdt de aankopen van klanten bij via volgende gegevens:

Zorg voor deze velden in de klasse Klant Programmeer onderstaande methoden:

Klasse GrootHandelaar

Deze klasse erft over van de klasse Klant, en brengt een kortingspercentage in rekening bij het berekenen van het totaal te betalen bedrag. Programmeer onderstaande methoden:

Klasse DetailKlant

Ook deze klasse erft over van de klasse Klant, en berekent op een andere manier het totaal te betalen bedrag: nu wordt de goedkoopste aankoop gratis gegeven. Programmeer onderstaande methoden:

Klasse Kassa

De kassa houdt alle klanten bij (met hun aankopen), en laat toe om het totaal ontvangen bedrag te berekenen. Zorg dat een object van deze klasse een reeks Klanten kan bijhouden, en voorzie volgende methoden:

Voorbeeld

aankopen = [100.0, 150.0, 30.0, 27.0]
jan = Klant('Jan')
paul = GrootHandelaar('Paul')
annemie = DetailKlant('Annemie')
for d in aankopen:
    jan += d
    paul += d
    annemie += d
print(jan.get_totaal())		-> 307.0
print(paul.get_totaal())	-> 276.3
print(annemie.get_totaal())	-> 280.0

kassa = Kassa()
kassa.registreer_klant(annemie)
kassa.registreer_klant(jan)
kassa.registreer_klant(paul)
print(kassa.get_kassa_inhoud())	-> 863.3