Modificarea atributelor de clasă
Ai învățat cum să definești atribute de clasă și cum să le accesezi din instanțele clasei. Dar ce se întâmplă dacă încerci să atribui o altă valoare unui atribut de clasă atunci când îl accesezi dintr-o instanță?
Clasa Player din exercițiul anterior a fost predefinită, după cum se vede mai jos:
class Player:
MAX_POSITION = 10
def __init__(self, position):
if position <= Player.MAX_POSITION:
self.position = position
else:
self.position = Player.MAX_POSITION
Acest exercițiu face parte din cursul
Introducere în Programarea Orientată pe Obiecte în Python
Instrucțiuni pentru exercițiu
- Creează două obiecte
Player:p1șip2, cu pozițiile9, respectiv5. - Afișează
p1.MAX_POSITIONșip2.MAX_POSITION. - Atribuie valoarea
7luip1.MAX_POSITION. - Afișează din nou
p1.MAX_POSITIONșip2.MAX_POSITION.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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
____
____