Definieer een klasse Cursus
waarmee cursussen kunnen voorgesteld worden. Bij het aanmaken van een cursus (Cursus
) moeten twee argumenten doorgeven worden: i) het uniek volgnummer (int
) van de cursus en ii) de naam (str
) van de cursus.
Definieer een klasse Student
waarmee studenten kunnen voorgesteld worden. Bij het aanmaken van een student (Student
) moeten vier argumenten doorgeven worden: i) het uniek volgnummer(int
) van de student, ii) de voornaam (str
) van de student, iii) de familienaam (str
) van de student en iv) de geboortedatum (datetime.date
) van de student. Studenten (Student
) moeten minstens de volgende methoden ondersteunen:
Een methode leeftijd
waaraan geen argumenten moeten doorgegeven worden. De methode moet de huidige leeftijd (int
) van de student teruggeven.
Een methode inschrijven
waaraan een cursus (Cursus
) moet doorgegeven worden. De methode moet ervoor zorgen dat de student bijhoudt dat hij zich voor de gegeven cursus heeft ingeschreven. De methode moet een verwijzing teruggeven naar het object waarop de methode werd aangeroepen.
Een methode cursussen
waaraan geen argumenten moeten doorgegeven worden. De methode moet een verzameling (set
) teruggeven met alle cursussen (Cursus
) waarvoor de student zich heeft ingeschreven.
Als een cursus (Cursus
) of een student (Student
) doorgegeven wordt aan de ingebouwde functies repr
of str
, dan moet een stringvoorstelling (str
) van de cursus of de student teruggegeven die opgemaakt is zoals aangegeven in onderstaand voorbeeld.
>>> astronomy = Cursus(238273, 'Astronomy')
>>> astronomy
Cursus(238273, 'Astronomy')
>>> print(astronomy)
Cursus(238273, 'Astronomy')
>>> import datetime
>>> harry = Student(29839339, 'Harry', 'Potter', datetime.date(1980, 7, 31))
>>> harry
Student(29839339, 'Harry', 'Potter', datetime.date(1980, 7, 31))
>>> print(harry)
Potter, Harry
>>> harry.leeftijd()
39
>>> harry.cursussen()
set()
>>> harry.inschrijven(charms)
Student(29839339, 'Harry', 'Potter', datetime.date(1980, 7, 31))
>>> harry.cursussen()
{Cursus(983448, 'Charms')}
>>> harry.inschrijven(charms).inschrijven(dark_arts).inschrijven(defence_against_dark_arts).cursussen()
{Cursus(746473, 'Dark Arts'), Cursus(983448, 'Charms'), Cursus(462763, 'Defence Against Dark Arts')}