Class・Object

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

OracleからEclipseに開発主体が移ったJava EE前のページ

Spring MyBatisのSQL!!IN句を使用する方法とは?次のページ

ピックアップ記事

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

関連記事

  1. Class・Object

    Java プロパティファイル(property)の作成と読み込み、編集方法、配置先の解説

    こちらの記事でプロパティファイル(property)の使い方を応用して…

  2. Class・Object

    Java クラスのインスタンス化・初期化とは?

    Javaで扱うすべての変数は必ず何らかの型(type)を持っていま…

  3. Class・Object

    Java オブジェクト指向の解説・カプセル化

    カプセル化とは、情報へのアクセスや動作の処理を隠蔽することでア…

  4. Class・Object

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

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

  5. Class・Object

    Java コンストラクタの使い方と概要

    コンストラクタとは生まれたてのインスタンスの状態を表します。…

  6. Class・Object

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

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

コメント

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

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

Recommended Article

Pickup

  1. Basic

    Java入門・JDKのインストール方法(Windows編)
  2. Spring

    Spring MyBatisのSQL!!IN句を使用する方法とは?
  3. Basic

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

    Java 9のモジュール機能で何が変わるのか[JavaOne2017]
  5. IT learning

    Webコンテナ(サーブレットコンテナ)とWebサーバの違いやイメージを解説
PAGE TOP

Copyrighted Image