記事の内容
この記事では、クラスの継承やオーバーライドを紹介します。
なお、このコードはPythonの3系で書かれています。
クラスの継承
クラスの継承を試してみよう
クラスの継承とは、既に定義済みのクラスやメソッドを再利用するようなイメージです。
クラスの継承をするためには、クラス名の()に親クラスの名前を代入します。
コードを見た方がわかりやすいと思うので、実際にコードを見ていきましょう。
Animalクラスを継承したDogクラスでも、runメソッドを使えることがわかります。
このように継承元である親クラスのメソッドを使えるようになるのが、継承のメリットです。
initializeメソッドの動作を確認してみよう
initializeの動作も確認してみます。
Dogクラスにinitializeが定義されていない場合は、親クラスのinitializeを使うことができます。
次にDogクラスにもinitializeを実装してみます。
子クラスであるDogクラスにinitializeが定義されている場合は、子クラスのinitializeが優先されます。
オーバーライド
次に親クラスにあるメソッドの動作を変更する「オーバーライド」というテクニックを紹介します。
親クラスと継承先のメソッド名は同じですが、動作は異なることがわかります。
このように、同じメソッド名だけど、子クラスでメソッドを再定義することを「オーバーライド」と呼びます。
親クラスのメソッドを使いつつ、子クラスで動作を追加したい時もあるはずです。
その時には、「super.メソッド名」と書きます。
まとめ
この記事では、クラスの継承やオーバーライドについて説明しました。
クラスの概念が曖昧な人は、この記事を読む前に、先にクラスの理解を深めた方がいいかもしれません。
Good luck for your engineer life!
この記事が面白かった人は、こちらの記事も読んでみて下さい。