# クラスメソッド. 1. 定義

# Python

class Class01:
  @classmethod
  def method01(cls, param1):
    ...

たぶん、
cls なのは慣例で、
アノテーション (@classmethod) を指定しておくと 第1引数に クラスオブジェクトが渡される。
なので、@classmethod は可読性やドキュメントのためのものではなく、必須。

@staticmethod との違いは、たぶん、cls にアクセスする必要があるかないか。
cls.XXX の代わりにクラス名を明示 (Class01.XXX) で足りそうな気もするが、
クラスの定義内でクラス名を明示的に書くのはクラス名の変更があったときに面倒なのでこっちが良いのだろう。

# Ruby

class Class01
    def self.method01(...)
        ...
    end
end

[ 📩 ご意見 ]