クラスレベルの属性
クラス属性は、そのクラスのすべてのインスタンスで共有されるデータを保持します。値はクラス本体で代入され、メソッド内で参照するときは self. ではなく ClassName. の構文を使います。
この演習では、グリッド上で複数のプレイヤーが移動して相互作用するゲームを開発していると仮定します。最初のステップとして、直線上だけを移動する Player クラスを定義したいとします。Player は position という属性を持ち、限られた数のマスからなるグリッド上を移動します。そのため、Player の position には最大値が存在します。
この演習はコースの一部です
Pythonによるオブジェクト指向プログラミング入門
演習の手順
Playerクラスを定義します。- 値が
10のクラス属性MAX_POSITIONを作成します。 __init__()コンストラクタで、オブジェクトに割り当てる属性positionを0に設定します。Playerオブジェクトpを作成し、そのMAX_POSITIONを出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create a Player class
____:
# Create MAX_POSITION class attribute
____ = ____
# Add a constructor, setting position to zero
____:
____.____ = ____
# Create a player p and print its MAX_POSITION
p = ____()
print(____.____)