Зміна атрибутів класу
Ви навчилися визначати атрибути класу та отримувати до них доступ з екземплярів класу. То що станеться, якщо спробувати присвоїти інше значення атрибуту класу, звертаючись до нього з екземпляра?
Клас Player з попередньої вправи вже визначено, як показано нижче:
class Player:
MAX_POSITION = 10
def __init__(self, position):
if position <= Player.MAX_POSITION:
self.position = position
else:
self.position = Player.MAX_POSITION
Ця вправа є частиною курсу
Вступ до обʼєктно-орієнтованого програмування в Python
Інструкції до вправи
- Створіть два об'єкти
Player:p1іp2з позиціями9та5відповідно. - Виведіть
p1.MAX_POSITIONіp2.MAX_POSITION. - Присвойте
7доp1.MAX_POSITION. - Знову виведіть
p1.MAX_POSITIONіp2.MAX_POSITION.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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
____
____