Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Definieer de __init__()-constructor met twee argumenten, self en position.
  • Controleer in de constructor of position kleiner dan of gelijk is aan de klasse-attribuut MAX_POSITION; zo ja, ken position toe aan self.position.
  • Als position groter is dan de klasse-attribuut MAX_POSITION, ken dan de waarde van de klasse .MAX_POSITION toe.
  • Maak een Player-object p met positie 6 en print zijn MAX_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(____.____)
Code bewerken en uitvoeren