継承について vol.43
今回は継承について、ざっくり言うと他のクラスのメソッドを引き継げるということだ。
1.継承とは
コードを書いていて、同じようなものを書くことが出てくることがある。
例えば、一つのプロジェクト内に同じようなクラスが二つあるとする。
片方を書いた後でコピペでもう一つのクラスを作成した。
もしそこで修正を加えないといけない状況になったとする。
二つとも修正するという二度手間が起きてしまう。
それがコピペの欠点であり、よりコピペしたクラスが多ければ多いほど、修正の手間も増えるし、どのクラスがコピペしてきたクラスなのかの把握も大変になってくる。
それを解決できるのが、継承である。
継承は継承される側の親クラスというものがあり、呼ぶ側は子クラスである。
同じようなクラスを10作るとして、コピペで10作ったのだが、修正が起こった場合も10個のクラスを修正しなくてはいけない。
しかし、継承は呼び出される側のクラス1個だけを修正するだけでよい。
このように似たようなクラスの作成をするときには大変便利だ。
では継承はどう行うのか。
2.継承の書き方
クラス名のところにextendsと呼び出したいクラス名を書くのみだ。
そうすることで呼び出したクラスのメソッドを使うことができるようになる。
このように書く
修飾子 class クラス名 extends 元となる呼ばれるクラス
そのあとにこのクラス独特な部分を書いていくだけだ。
例を出そう。
Extendプロジェクトの中にCellPhoneクラス、Iphoneクラス、Mainクラスの三つのクラスがある。
CellPhoneクラスとIphoneクラスは類似クラスであり、Iphoneクラスはコピペで作られた。
こちらが元もなるCellPhoneクラス
そしてこちらはCellPhoneクラスをコピペしたIphoneクラスである。
同じような処理を行うメソッドが見受けられる。
これはコピペしたバージョンだが、継承を行うとどうなるのか。
このようにIphoneクラスの後にextends CellPhoneを加えただけで、 CellPhoneの処理が行えるようになる。
Mainクラスで呼び出す際は不通にクラスを呼び出す際行う方法と変わらない。
このようにインスタンスを生成して呼び出すのみだ。
ちなみにJavaAPIも継承できる。
JavaAPIの種類はこちら。
JavaAPIの説明を書いたものはこちら。
継承についても少しルールがある。
3.ルール
ルールを守らないと実装できなくなるというルールではないが、開発をしていく上だは守らないと困るようなものだと思う。
先ほどから親クラスや子クラスといっていたが、親クラスが継承される側であり、子は受け継ぐ側である。
親クラスは大枠であり、子クラスはその中のカテゴリのようなもの。
私が使っていたCellPhoneは携帯電話という枠組みであり、Iphoneはその中のカテゴリである。
逆では言わないだろう。このように日本語に意味的におかしく感じるものはルールとしてダメということになる。
言葉の流れを見ることも大切であるということ。
今回は以上
では、また次回
元体育会系文系エンジニア石黒
この記事が気に入ったらサポートをしてみませんか?