LoslegenKostenlos loslegen

Logik für Attribute implementieren

Die Player-Klasse, die du zuvor erstellt hast, war ein guter Anfang. Ein großer Vorteil von klassenweiten Attributen ist jedoch, dass sie obere und/oder untere Grenzen für Daten vorgeben können.

In dieser Übung passt du die Definition der Player-Klasse so an, dass der Wert von position nicht über den klassenweiten Wert MAX_POSITION hinausgehen kann.

Diese Übung ist Teil des Kurses

Einführung in objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere den Konstruktor __init__() mit zwei Argumenten: self und position.
  • Prüfe im Konstruktor, ob position kleiner oder gleich dem klassenweiten MAX_POSITION ist; falls ja, weise position self.position zu.
  • Wenn position größer ist als der klassenweite MAX_POSITION, weise stattdessen das Klassenattribut .MAX_POSITION zu.
  • Erzeuge ein Player-Objekt p mit der Position 6 und gib dessen MAX_POSITION aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen