投稿

[Python 100日チャレンジ] Day 36 - メソッドオーバーライド

Pythonのメソッドオーバーライドで、親クラスの振る舞いを子クラスで上書きする方法を学びます。

[Python 100日チャレンジ] Day 36 - メソッドオーバーライド

オーバーライドとは

子クラスで親クラスと同じ名前のメソッドを定義すると、子クラス側の処理が優先されます。これをオーバーライドと呼びます。

1
2
3
4
5
6
7
class Animal:
    def speak(self):
        print("...")

class Dog(Animal):
    def speak(self):
        print("Woof")

superと組み合わせる

親クラスの処理を使いながら、子クラスで処理を追加することもできます。

1
2
3
4
class AdminUser(User):
    def describe(self):
        super().describe()
        print("管理者です")

多重継承は慎重に

Pythonでは複数のクラスを継承できますが、関係が複雑になりやすいです。まずは単一継承をしっかり使えるようにしましょう。

今日のゴール

オーバーライドは、共通の形を保ちながら具体的な振る舞いを変える方法です。親と子の責務を意識して使いましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。