Java

Java オブジェクト指向の解説・継承

処理を受け継ぐ「継承」とは
以前作成したクラスと似通ったクラスを作成する場合などに
効率よく作成できる為の思想です。

「継承」

  • 親クラス(スーパークラス)を基に子クラス(サブクラス)を定義できる
  • 共通の処理を引き継ぐことができる
  • 子クラス独自の処理を付け加える事ができる(差分だけ記述)
  • 親クラスに宣言が存在するメソッドを、子クラスで上書き宣言することをオーバーライドという
  • final付きクラスは継承できず、final付きメソッドはオーバライド出来ない
  • 継承には、「抽象的・具体的」の関係にあることを定義する役割もある

SPONSORED LINK

オーバーライド(上書きする事)
親クラスを継承して子クラスを宣言する際、
親クラスのメンバを子クラス側で再定義することです。
オーバーライドについての解説はこちらから

継承の基礎


class サブクラス名 extends スーパークラス名 { クラス本体 }

継承を用いて子クラスに宣言されたメンバについて
①親クラスに同じメンバがなければ、そのメンバは「追加」になる
②親クラスに同じメンバがあれば、そのメンバは「上書き変更」される。

継承されたクラスのメソッドの呼び出し
外部からメソッドの呼び出しがある場合は、
外側に有る子インスタン部分のメソッドで対応します。

例えば両方のクラスで
同じメソッドが定義されている(オーバーライド)場合は
外側(子クラス)のメソッドが優先的に動作する為、
内側(親クラス)のメソッドが動くことはありません。

SPONSORED LINK

親インスタン部へのアクセスの方法

親インスタンス部について

  • 親インスタンス部のフィールドを利用:super.フィールド名
  • 親インスタンス部のメソッドを呼び出す:super.メソッド名(引数)

「祖父母」インスタンス部へのアクセスについて
Aクラス(祖父母)、Bクラス(親)、Cクラス(自分)という
3つのクラスが継承関係にある時
インスタンス生成も3重構造になります。

その際に一番外側に相当するCインスタンスについては、
Cクラスのメソッド→Aクラスのインスタンス部には直接アクセスはできない。

  • Cクラスのメソッド→Cクラスのインスタンス:this
  • Cクラスのメソッド→Bクラスのインスタンス:super
  • Cクラスのメソッド→Aクラスのインスタンス:✕

継承とコンストラクタの関係とルール

全てのコンストラクタは、
先頭で必ず親クラスのコンストラクタを
呼び出さなければなりません。

親クラスのコンストラクタの呼び出し

  • super(引数);

SPONSORED LINK

ピックアップ記事

  1. Java クラスのインスタンス化・初期化とは?
  2. Java入門 JavaプラットフォームやJava言語の仕組み
  3. Java 9が正式リリース

関連記事

  1. Basic

    Java Loggerの使い方や出力先の設定、レベルでログを振り分ける設定も解説

    こちらの記事でLoggerの使い方を応用しています。Java Te…

  2. Java

    Java String型とDate型の変換・Calendarの関係性

    現場でも使用頻度が非常に高い日付を扱ったソースについて解説していき…

  3. Java

    Java プロパティファイルを使ってテキスト(txt)出力ファイルの書き込みとパターンを解説

    こちらの記事でプロパティファイルを使って出力ファイルの書き込みを応用し…

  4. Java

    Java オブジェクト指向とは?初心者向けにわかりやすい概要!!

    オブジェクト指向の特徴は開発対象となるシステム化対象領域を、「モノ…

  5. Java

    Java Template Method デザインパターン(abstract)の使い方や特徴を具体的…

    テンプレートの機能を持つ スーパークラス(親)の方にテン…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Recommended Article

Pickup

  1. Java

    Java 文字列を分割後(split)にリスト化(List)する方法も解説
  2. Java

    Javaプログラムの作成とルール
  3. Java

    Java オブジェクト指向とは?初心者向けにわかりやすい概要!!
  4. Java

    Java プロパティファイルを使ってテキスト(txt)出力ファイルの書き込みとパ…
  5. Java

    Java オブジェクト指向の解説・継承
PAGE TOP

Copyrighted Image