継承を復習してなおかつちゃんと理解したいのでまとめようと思います。
継承とは?(Inheritance)
継承とはあるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に継承関係があると言われる。
例えば、キャラクタークラスを戦士クラスが継承していたら、
- 戦士クラスはキャラクタークラスが持っているメソッドや変数を使えます。
- 自分が好きなようにメソッドを拡張できる
- 新しいメソッドを作ったりもできます。
- さらにさらに親クラスのメソッドを書き換えたり(Override)したりもできます。
簡単な例で言うとRPGが使えます。
例えば、RPGではキャラクターがたくさんいますよね?これらのキャラクターが持っている値は例えば、名前、性別、攻撃や所持金などあります。
キャラクターと言う親クラス(Super Class)を最初に作り、ほとんどのキャラクターが必ず持つもの(名前など)を定義しておきます。
RPGには勇者や魔法使い戦士や、格闘家など様々なタイプのキャラクターがいますよね。例えば、魔法使いがキャラクタークラスを継承することで、魔法を使う部分だけを記述すればよくなります。いちいち名前やお金などを新しく宣言する必要が無くなります。名前をいれたい場合は値を入れればいいだけです。
どうしてこのようなことをするのか?
ではもし継承をしなかったら、全てのクラスにいちいち同じようなことを何回も記述しなくてはならなくなります。なのでコードが多くなってしまい、メンテナンスやバグを見つけるのが困難になってしまうのです。
継承を使えばコードの再利用や、必要最低限のコードを追加するだけでいいのです。
これらが基本的な継承です。
継承は
- コードの重複を減らしてコードの再利用性を高める
- メソッドを追加したり、オーバーライドすることで自由に拡張する。
