Maak een klasse Voertuig, die per Voertuig een merk en serienummer bijhoudt,
beide van het type string. Programmeer volgende methoden:
__str__(): het gewenste formaat luidt [merk:serienummer] (zonder spaties)
== levert True indien merk en serienummer identiek zijn, en False in het andere geval
Een voertuigeigenaar is een speciaal soort persoon (de klasse Persoon wordt als startpunt gegeven), in die zin
dat een object van de klasse VoertuigEigenaar een reeks Voertuigen in bezit kan hebben
(gebruik hiervoor een Python lijst). Bouw, gebruikmakend van de klasse Persoon (dus gebruik makend van overerving)
de klasse VoertuigEigenaar die volgende zaken toevoegt t.o.v. de klasse Persoon:
VoertuigEigenaar
+= met als rechteroperand een object van het type Voertuig: dit voertuig wordt aangekocht
door VoertuigEigenaar Let op: indien dit voertuig al in het bezit is van de eigenaar, wordt die uiteraard niet
toegevoegd aan de lijst van al aangekochte voertuigen !
-= met als rechteroperand een object van het type Voertuig. Dit voertuig wordt weggehaald
van de lijst van voertuigen, indien het voertuig in het bezit was van deze VoertuigEigenaar.
__str__(): de gewenste stringgedaante is de stringgedaante van de klasse Persoon, gevolgd door :
en de lijst van stringgedaanten van Voertuigen in bezit van de VoertuigEigenaar, bijvoorbeeld [[BMW:12345],[Audi:4441]]. Hierbij wordt de volgorde van aankopen behouden.
Persoon in:
class Persoon(object):
def __init__(self, voornaam, familienaam, geslacht, geboortejaar):
self._voornaam = voornaam
self._familienaam = familienaam
self._geboortejaar = geboortejaar
self._geslacht = geslacht
def __str__(self):
return '(' + self._voornaam + ' ' + self._familienaam + '[' + str(self._geboortejaar) + ',' + self._geslacht +'])'
bmw = Voertuig('BMW', 12345)
audi = Voertuig('Audi', 4441)
print(bmw) -> [BMW:12345]
print(audi) -> [Audi:4441]
an = VoertuigEigenaar('An', 'Vrijmoedt', 'v', 1990)
print(an) -> (An Vrijmoedt[1990,v]):[]
an -= bmw
print(an) -> (An Vrijmoedt[1990,v]):[]
an += bmw
an += bmw
an += audi
print(an) -> (An Vrijmoedt[1990,v]):[[BMW:12345],[Audi:4441]]