python3のクラス定義
空クラスの定義
空クラスを定義する場合は、passを記述する。
class Foo: pass
下記のように、コメント行だけや、passを記述しないとエラーとなる。
#これはNG class Foo: #これもNG class Foo: #
クラスのプロパティ
publicなプロパティを定義する場合は、単に変数名を宣言する。
一方、privateなメンバーを定義する場合は、「__foo」のように先頭に半角アンダースコア2つ付ける。
class Foo: name = "Hoge" f = Foo() print(f.name)
また、クラスのプロパティを定義せずに、インスタンスに直接プロパティを設定する事もできる。
class Foo: pass f = Foo() f.name = "Mr John" print(f.name)
コンストラクタ
特殊なメソッド init() を定義すると、初期化時 コンストラクタとして呼ばれる。
class Foo: def __init__(self, name): self.name = name f = Foo("Tony") print(f.name)
メソッド
class Foo: def show():