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 Voertuig
en 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 Voertuig
en 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]]