LoslegenKostenlos starten

Klassenattribute ändern

Du hast gelernt, wie man Klassenattribute definiert und wie man von Instanzen aus auf sie zugreift. Was passiert, wenn du beim Zugriff über eine Instanz einem Klassenattribut einen anderen Wert zuweist?

Die Klasse Player aus der vorherigen Übung wurde wie unten gezeigt vordefiniert:

class Player:
    MAX_POSITION = 10
    def __init__(self, position):
        if position <= Player.MAX_POSITION:
              self.position = position
        else:
              self.position = Player.MAX_POSITION

Diese Übung ist Teil des Kurses

<Kurs>Einführung in objektorientierte Programmierung in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Erstelle zwei Player-Objekte: p1 und p2 mit den Positionen 9 bzw. 5.
  • Gib p1.MAX_POSITION und p2.MAX_POSITION aus.
  • Weisen 7 an p1.MAX_POSITION zu.
  • Gib p1.MAX_POSITION und p2.MAX_POSITION erneut aus.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Create Players p1 and p2
p1 = ____
p2 = ____

print("MAX_POSITION of p1 and p2 before assignment:")
# Print p1.MAX_POSITION and p2.MAX_POSITION
____
____

# Assign 7 to p1.MAX_POSITION
____

print("MAX_POSITION of p1 and p2 after assignment:")
# Print p1.MAX_POSITION and p2.MAX_POSITION
____
____
Code bearbeiten und ausführen