Logica voor attributen implementeren
De Player-klasse die je eerder maakte was een goed begin, maar een van de belangrijkste voordelen van klasse-attributen is dat ze de boven- en/of ondergrenzen van data kunnen beperken.
In deze oefening pas je de definitie van de Player-klasse aan zodat de waarde van position niet boven de klasse-attribuutwaarde MAX_POSITION kan uitkomen.
Deze oefening maakt deel uit van de cursus
Introductie tot objectgeoriënteerd programmeren in Python
Oefeninstructies
- Definieer de
__init__()-constructor met twee argumenten,selfenposition. - Controleer in de constructor of
positionkleiner dan of gelijk is aan de klasse-attribuutMAX_POSITION; zo ja, kenpositiontoe aanself.position. - Als
positiongroter is dan de klasse-attribuutMAX_POSITION, ken dan de waarde van de klasse.MAX_POSITIONtoe. - Maak een
Player-objectpmet positie6en print zijnMAX_POSITION.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
class Player:
MAX_POSITION = 10
# Define a constructor
____ ____(____, ____):
# Check if position is less than the class-level attribute value
if ____ <= ____.____:
____.____ = ____
# If not, set equal to the class-level attribute
else:
____.____ = ____.____
# Create a Player object, p, and print its MAX_POSITITON
p = ____(____)
print(____.____)