Kom igångKom igång gratis

Implementera logik för attribut

Klassen Player som du skapade tidigare var en bra början, men en av de viktigaste fördelarna med attribut på klassnivå är att de kan begränsa data till ett övre och/eller undre gränsvärde.

I den här övningen modifierar du definitionen av klassen Player så att värdet på position inte kan överstiga klassnivåattributet MAX_POSITION.

Den här övningen är en del av kursen

Introduktion till objektorienterad programmering i Python

Visa kurs

Övningsinstruktioner

  • Definiera konstruktorn __init__() med två argument, self och position.
  • Inuti konstruktorn kontrollerar du om position är mindre än eller lika med MAX_POSITION på klassnivå; om så är fallet, tilldela position till self.position.
  • Om position är större än MAX_POSITION på klassnivå, tilldela den till klassens .MAX_POSITION-attribut.
  • Skapa ett Player-objekt p med positionen 6 och skriv ut dess MAX_POSITION.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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(____.____)
Redigera och kör kod