Logik für Attribute implementieren
Die Klasse Player, die du zuvor erstellt hast, war ein guter Anfang, aber einer der Hauptvorteile von Attributen auf Klassenebene ist die Möglichkeit, die oberen und/oder unteren Grenzen der Daten einzuschränken.
In dieser Übung änderst du die Klassendefinition von Player, um zu verhindern, dass der Wert von position den Wert auf Klassenebene MAX_POSITION übersteigt.
Diese Übung ist Teil des Kurses
Einführung in die objektorientierte Programmierung in Python
Anleitung zur Übung
- Definiere den
__init__()Konstruktor mit zwei Argumenten,selfundposition. - Prüfe im Konstruktor, ob
positionkleiner oder gleich der KlassenebeneMAX_POSITIONist; wenn ja, weisepositionzuself.position - Wenn
positiongrößer ist als die KlassenebeneMAX_POSITION, ordne es dem Attribut.MAX_POSITIONder Klasse zu. - Erstelle ein
PlayerObjektpmit einer Position von6und drucke dessenMAX_POSITION.
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(____.____)