Pythonでは、クラスの継承を利用して新しいクラスを作成する際に、親クラスのメソッドを子クラスで再定義することができます。これをメソッドのオーバーライドと呼びます。
オーバーライドは、親クラスのメソッドをそのまま利用するのではなく、一部の機能を追加・変更したい場合に使用します。具体的には、子クラスで親クラスと同名のメソッドを定義することで、親クラスのメソッドをオーバーライドすることができます。
以下に、Pythonでのメソッドのオーバーライドの基本的な例を示します。
class Parent:
def method(self):
print("This is a method of the parent class.")
class Child(Parent):
def method(self):
print("This is a method of the child class.")
この例では、Child
クラスはParent
クラスを継承しています。そして、Child
クラスではmethod
メソッドを再定義(オーバーライド)しています。その結果、Child
クラスのインスタンスでmethod
メソッドを呼び出すと、「This is a method of the child class.」と表示されます。
また、Pythonではsuper()
関数を使うことで、親クラスのメソッドを明示的に呼び出すことができます。これにより、親クラスのメソッドを一部再利用しつつ、子クラスで新たな機能を追加することが可能になります。
class Parent:
def method(self):
print("This is a method of the parent class.")
class Child(Parent):
def method(self):
super().method()
print("This is a method of the child class.")
この例では、Child
クラスのmethod
メソッド内でsuper().method()
を呼び出すことで、親クラスのmethod
メソッドを実行しています。その後で、子クラス独自の処理を追加しています。その結果、Child
クラスのインスタンスでmethod
メソッドを呼び出すと、「This is a method of the parent class.」と「This is a method of the child class.」が順に表示されます。
以上、Pythonでのメソッドのオーバーライドについて説明しました。この機能を理解し活用することで、より柔軟なクラス設計が可能になります。.