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,self
undposition
. - Prüfe im Konstruktor, ob
position
kleiner oder gleich der KlassenebeneMAX_POSITION
ist; wenn ja, weiseposition
zuself.position
- Wenn
position
größer ist als die KlassenebeneMAX_POSITION
, ordne es dem Attribut.MAX_POSITION
der Klasse zu. - Erstelle ein
Player
Objektp
mit einer Position von6
und drucke dessenMAX_POSITION
.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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(____.____)