Zmiana atrybutów klasy
Wiesz już, jak definiować atrybuty klasy i jak uzyskiwać do nich dostęp z poziomu instancji. Co się jednak stanie, jeśli spróbujesz przypisać nową wartość do atrybutu klasy, odwołując się do niego przez instancję?
Klasa Player z poprzedniego ćwiczenia jest już zdefiniowana, jak pokazano poniżej:
class Player:
MAX_POSITION = 10
def __init__(self, position):
if position <= Player.MAX_POSITION:
self.position = position
else:
self.position = Player.MAX_POSITION
To ćwiczenie jest częścią kursu
Wprowadzenie do programowania obiektowego w Pythonie
Instrukcje do ćwiczenia
- Utwórz dwa obiekty klasy
Player:p1ip2, z pozycjami odpowiednio9i5. - Wyświetl
p1.MAX_POSITIONip2.MAX_POSITION. - Przypisz wartość
7dop1.MAX_POSITION. - Wyświetl ponownie
p1.MAX_POSITIONip2.MAX_POSITION.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
____
____