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
Anleitung zur Übung
- Definiere den Konstruktor
__init__()mit zwei Argumenten:selfundposition. - Prüfe im Konstruktor, ob
positionkleiner oder gleich dem klassenweitenMAX_POSITIONist; falls ja, weisepositionself.positionzu. - Wenn
positiongrößer ist als der klassenweiteMAX_POSITION, weise stattdessen das Klassenattribut.MAX_POSITIONzu. - Erzeuge ein
Player-Objektpmit der Position6und gib dessenMAX_POSITIONaus.
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(____.____)