始める無料で始める

クラスレベルの属性

クラス属性は、そのクラスのすべてのインスタンスで共有されるデータを保持します。値はクラス本体で代入され、メソッド内で参照するときは self. ではなく ClassName. の構文を使います。

この演習では、グリッド上で複数のプレイヤーが移動して相互作用するゲームを開発していると仮定します。最初のステップとして、直線上だけを移動する Player クラスを定義したいとします。Playerposition という属性を持ち、限られた数のマスからなるグリッド上を移動します。そのため、Playerposition には最大値が存在します。

この演習はコースの一部です

Pythonによるオブジェクト指向プログラミング入門

コースを見る

演習の手順

  • Player クラスを定義します。
  • 値が 10 のクラス属性 MAX_POSITION を作成します。
  • __init__() コンストラクタで、オブジェクトに割り当てる属性 position0 に設定します。
  • 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(____.____)
コードを編集して実行