為屬性實作邏輯
你先前建立的 Player 類別是一個不錯的開始,但類別層級屬性的關鍵優勢之一,是能限制資料的上限與/或下限。
在這個練習中,你會修改 Player 類別定義,讓 position 的值不會超過類別層級的 MAX_POSITION。
本練習屬於課程
Python 物件導向程式設計入門
練習說明
- 定義
__init__()建構子,參數為self與position。 - 在建構子裡,檢查
position是否小於或等於類別層級的MAX_POSITION;若是,將position指派給self.position。 - 如果
position大於類別層級的MAX_POSITION,就把它指派給此類別的.MAX_POSITION屬性。 - 建立一個
Player物件p,其位置為6,並列印它的MAX_POSITION。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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(____.____)