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