コンテンツへスキップ
継承とは
- 継承するとメンバーを受け継ぐ(メンバーのアクセス修飾子に注意)
- 継承の元となるクラス(親)は「スーパークラス」、継承によって作られた新しいクラス(子)は「サブクラス」
- Javaの継承は「単一継承(親は1つだけ)」で、すべてのクラスの祖先となるのはObjectクラス(extendsを書かないクラスはextends Objectが省略されていると考えれば良い)。
(メンバーを受け継ぐことに加え)サブクラスでできること
- メンバーを加えることができる(メンバーを加えない≒スーパークラスと同じ、なので加えないと意味がない)
- 「super」でサブクラスからスーパークラスのメソッド(コンストラクタを含む)を呼び出すことができる
- スーパークラスにあるメソッドをオーバーライド(上書き)することができる
継承の使い所
- (なんらかの理由でクラスのメンバーの追加・修正ができない場合に)継承して機能を拡張する。
- 共通部分をスーパークラスとしてまとめ、個別の機能をサブクラスで記述する(この用途には「抽象クラス(教科書P.114)」が適切な場合がある)
- 同じように呼び出すことができるメソッドを持たせる(この用途には「インタフェース(教科書P.116)」が適切な場合がある)。
- etc…