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