クラスの継承(まとめ)

継承とは

  • 継承するとメンバーを受け継ぐ(メンバーのアクセス修飾子に注意)
  • 継承の元となるクラス(親)は「スーパークラス」、継承によって作られた新しいクラス(子)は「サブクラス」
  • Javaの継承は「単一継承(親は1つだけ)」で、すべてのクラスの祖先となるのはObjectクラス(extendsを書かないクラスはextends Objectが省略されていると考えれば良い)。

(メンバーを受け継ぐことに加え)サブクラスでできること

  • メンバーを加えることができる(メンバーを加えない≒スーパークラスと同じ、なので加えないと意味がない)
  • 「super」でサブクラスからスーパークラスのメソッド(コンストラクタを含む)を呼び出すことができる
  • スーパークラスにあるメソッドをオーバーライド(上書き)することができる

継承の使い所

  • (なんらかの理由でクラスのメンバーの追加・修正ができない場合に)継承して機能を拡張する。
  • 共通部分をスーパークラスとしてまとめ、個別の機能をサブクラスで記述する(この用途には「抽象クラス(教科書P.114)」が適切な場合がある)
  • 同じように呼び出すことができるメソッドを持たせる(この用途には「インタフェース(教科書P.116)」が適切な場合がある)。
  • etc…